这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » 【经验总结】新唐单片机N76E003在9级优化下体现出来的bug问题

共4条 1/1 1 跳转至

【经验总结】新唐单片机N76E003在9级优化下体现出来的bug问题

工程师
2021-02-25 23:11:43     打赏

【经验总结】新唐单片机N76E003在9级优化下体现出来的bug问题

N76E003的寄存器的TA保护机制造成代码中有很多--》

TA=0xAA;
TA=0x55;
REG=VAL;

这样的代码,如果选择尺寸优化Favor size,然后优化Level选择:9:Common Block Subroutines,优化器会将对TA的连续0xAA,0x55赋值优化成一个函数多次调用,导致TA保护寄存器写失败。

优化器也很委屈:新唐你真不地道,光给我挖坑了。

如果和TI的EALLOW保护机制一样,TA=0xAA关闭保护,TA=0x55打开保护就行了。或者每次写入的数据不是固定的0xAA和0x55,也可以避免给优化器挖坑。

不过这些都要重新流片,实现起来不现实,只能不用9级优化了。





关键词: N76E003     TA保护    

工程师
2021-02-25 23:20:17     打赏
2楼

这几行代码可以用C嵌入汇编,这样不会被优化掉。


工程师
2021-02-25 23:25:39     打赏
3楼

这个bug确实较隐蔽啊!


工程师
2021-03-01 22:46:01     打赏
4楼

问题还是蛮大的


共4条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]