常见问答
- M051 系列(95)
- M0518 系列(97)
- M0519 系列(43)
- M0564 系列(1)
- Mini51 系列(90)
- Nano100 / 102 系列(101)
- Nano103 Base 系列(10)
- Nano110 / 112 LCD 系列(100)
- Nano120 USB 系列(111)
- Nano130 USB+LCD 系列(110)
- NUC029 系列(94)
- NUC100 / 200 系列(102)
- NUC120 / 122 / 123 / 220 USB 系列(116)
- NUC121/125 系列(1)
- NUC126 USB 系列(2)
- NUC130 / 230 CAN 系列(103)
- NUC131/NUC1311 CAN 系列(98)
- NUC140 / 240 USB+CAN 系列(114)
- M451 Base 系列(118)
- M451M 系列(117)
- M452 USB 系列(130)
- M4521 USB 系列(1)
- M453 CAN 系列(128)
- M463 CAN FD/USB HS 系列(1)
- M467 Ethernet/Crypto 系列(1)
- M471 系列(1)
- M479 Motor Control Series(1)
- M481 Base 系列(4)
- M482 USB FS OTG 系列(4)
- M483 CAN 系列(4)
- M484 USB HS OTG 系列(4)
- M485 Crypto 系列(4)
- M487 Ethernet 系列(4)
- M4TK 触摸 IC 系列(25)
- NUC442 / 472 系列(130)
- NUC472 Series(1)
- NUC505 系列(138)
常见问答
如何透过PinView与Lua脚本查看并改变寄存器状态? 日期:2019-10-02
PinView能够透过lua脚本来存取MCU的内存,不需透过KEIL μVision和IAR EWARM编译环境,PinView支持透过lua进行以下操作:
(1) 存取寄存器,方便验证硬件线路
(2) 打印SRAM的内容
(3) 支持lua脚本,能够快速实现测试程序
Lua网站:https://www.lua.org/
使用场景:
(1) 使用者没有客户的程序代码,但需要针对客户的项目进行除错
(2) 使用者没有客户的开发环境( KEIL μVision or IAR EWARM ),但须要针对客户的项目进行除错
1. 建立一个 lua 档案. (Lua Example 1)
2. 开启 PinView
3. 执行 lua 脚本
4. PinView 右侧窗口会显示改变的内容
Lua Example 1: my1.lua – 存取 GPIOA 寄存器并切换I/O逻辑
-- Config
local write_data = 0
local RegAdd = 0x50004008 -- GPIOA_DOUT
-- Print setting
local ext = require("ext")
local print = ext.redirect_print
print(string.format('Hello Nuvoton'));
-- Read register
local read_data = ice:ReadMem32(RegAdd)
print(string.format("ReadMem: addr 0x%08X, data 0x%08X", RegAdd, read_data))
-- Write register
write_data = 0xFFFF-read_data; -- Invert GPIOA data
ice:WriteMem32(RegAdd, write_data)
print(string.format("WriteMem addr 0x%08X, data 0x%08X", RegAdd, write_data))
Lua Example 2: my.lua – 打印 SRAM 资料
-- Config
local RegAdd = 0x20000000 -- SRAM address
local total_size = 256 -- Data length
-- Print setting
local ext = require("ext")
local print = ext.redirect_print
print(string.format('Hello Nuvoton'));
-- Dump SRAM data
local i = 0
while i < total_size do
local read_data = ice:ReadMem32(RegAdd+i)
print(string.format("ReadMem: addr 0x%08X, data 0x%08X", RegAdd+i, read_data))
i = i + 4
end
产品: | 微控制器 ,8 位 8051 微控制器 ,Arm Cortex-M0 微控制器 ,Arm Cortex-M23 微控制器 ,Arm Cortex-M4 微控制器 |
---|---|
应用: | |
功能: | Software and Tools,Nu Tools,PinView |