硬汉嵌入式论坛

 找回密码
 立即注册
查看: 1507|回复: 3
收起左侧

[JScope HSS] H7-TOOL的LUA小程序实现JSCope HSS模式操作说明,已经发布(2022-08-11)

[复制链接]

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106739
QQ
发表于 2022-8-9 05:59:17 | 显示全部楼层 |阅读模式
HSS模式的优势:全程无需复位芯片,直接读取即可。
而且随时随地都可以连接目标板,不影响目标板的正常功能,不需要额外资源。


1、函数介绍:
函数:pg_init(0)
用于初始化TOOL的SWD接口

函数:pg_read8
用于读取目标板指定RAM空间地址的8bit数据,比如读取地址0x2000 0000地址的8bit数据,就是pg_read8(0x20000000)

函数:pg_read16
用于读取目标板指定RAM空间地址的16bit数据,比如读取地址0x2000 0000地址的16bit数据,就是pg_read16(0x20000000)

函数:pg_read32
用于读取目标板指定RAM空间地址的32bit数据,比如读取地址0x2000 0000地址的8bit数据,就是pg_read32(0x20000000)

函数:读取浮点值
当前版本TOOL还没有注册直接返回浮点值,所以我们在LUA端封装了个API,见下面示例的代码展示。

函数:print_wave
波形打印,可以同时打印六路波形
比如打印一路(每次打印,更新一次value1值就出效果了):
str = string.format("%5.1f", value1)
print_wave(str)

打印两路:
str = string.format("%5.1f, %d", value1, value2)
print_wave(str)

打印三路:
str = string.format("%5.1f, %d, %d", value1, value2, value3)
print_wave(str)


2、操作方法:

(1)目标板程序

比如下面一个基于我们F429板子的工程代码,程序里面定义了一个周期性更新的两个变量
float g_usWaveSquare = 0.0;
uint16_t g_usWaveSine = 0;
V6-TOOL的HSS模式测试用例子.7z (3.06 MB)

(2)H7-TOOL读取变量的更新

通过MDK工程的map文件,可以方便的了解这两个变量的地址:

image.png

TOOL读取这两个地址的数据比较简单:
temp = pg_read32(0x20000000)   -- 读取4个字节数据
value1 = pg_read16(0x20000004) -- 读取16bit整数

(3)完整实现代码

[Lua] 纯文本查看 复制代码
-- 整数转浮点数
function float_i2f(bits)
    local sign 
    local exponent
    local mantissa
    local f

    if((bits & 0x80000000) == 0) then
        sign = 1
    else
        sign = -1
    end

    exponent = (bits & 0x7f800000)/(2^23)
    mantissa = bits & 0x007fffff
    mantissa  = mantissa |0x00800000

    f = sign * mantissa * 2^(exponent-150)

    return f
end

local value1, value2, temp
local str

beep()     -- 蜂鸣器
pg_init(0) -- 初始化

for i=0, 5000, 1 do
temp = pg_read32(0x20000000)   -- 读取4个字节数据
value1 = float_i2f(temp)       -- 转换整数位浮点数
value2 = pg_read16(0x20000004) -- 读取16bit整数

--波形打印格式,逗号分割,支持6路波形打印
str = string.format("%5.1f, %d", value1, value2) 
--打印读取的数值
print(str)
--打印波形
print_wave(str)        
--每10ms读取打印一次
delayms(10)        
end


效果展示:

复制代码到LUA小程序运行位置。
image.png

动态效果:








回复

使用道具 举报

23

主题

1406

回帖

1475

积分

至尊会员

积分
1475
发表于 2022-8-9 12:11:47 | 显示全部楼层
666,重要要发了
代码不规范,亲人两行泪!
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106739
QQ
 楼主| 发表于 2022-8-11 02:24:17 | 显示全部楼层
已经更新发布
回复

使用道具 举报

23

主题

1406

回帖

1475

积分

至尊会员

积分
1475
发表于 2022-8-11 12:42:49 | 显示全部楼层

终于发布了 下午玩下
代码不规范,亲人两行泪!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-3 12:38 , Processed in 0.254567 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表