页次: 1
搬运了貌似是官方放出的串口烧写的BootLoader到串口1,改成SDCC编译了,上机位要求python3。官方代码乱得一坨,保持了原汁原味,终于可以在macOS下刷程序。
isp_uart1.zip
貌似是官方放出的Nuvoton Standard ISP Code_N76E003.zip
乐趣在于折腾,sdcc编译问题已解决。
原因是sdcc编译|=运算的时候会编译出3条指令,而对于某些受写保护SFR,打开TA保护后只有4个时钟周期是可以写的。
解决方法是通过peep-file来做指令替换,测试pwm例子已正常。集成sdcc&makefile
keil c51编译结果
mov TA, #0xAA ; TA = 0xAA
mov TA, #0x55 ; TA = 0x55 {'U'}
orl SFRS, #0x01 ; SFRS |= 0x01
未修正前SDCC编译结果
mov TA, #0xAA ; TA = 0xAA
mov TA, #0x55 ; TA = 0x55 {'U'}
mov R6, SFRS ; R6 = SFRS
orl 0x06, #0x01 ; 0x06 |= 0x01
mov SFRS, R6 ; SFRS = R6
参考了一个台湾同胞的指导文章,用sdcc来编译,结果就只有一路正常。:/
使用SDCC開發新唐N76E003 1T 8051
集成sdcc&makefile
页次: 1