之前通过如下程序在程序存储区写入一个ID,
#pragma romdata testID=0xf000
rom unsigned char testID[]={"20160927"};
#pragma romdata
编译后程序存储区0xf000写入的数据如图1,即是每个数字的ascii码值,每个数字占8bits。
使用带有SQTP功能的烧录器后,上述定义testID的方法不用了,改用图2上半部分窗口中SQTP设置f000位置的数据。
烧录时加载SQTP文件后,程序存储区0xf000位置被写入的数据如图2下半部分,变成了每个数字占16bits且存储顺序和上述#pragma romdata的存储顺序是反的。
为什么?怎么设置SQTP才可以像图1那样数据写入效果呢?
另外还有一个问题SQTP选择了自动加一产生ID,但是16进制的(即***9之后就下一个变成***A),可以实现10进制的吗?怎么实现?
谢谢! |