本帖最后由 mcuisp 于 2011-12-26 23:59 编辑
手持机元旦大升级是没有了:loveliness: (正在忙大生产、、、) ,发个新的应用笔记:
Part 1 .Cosmic如何在源代码中嵌入optionbytes设置
Part 2 .IAR_STM8下如何在源代码中嵌入optionbytes设置、如何预留自动增量或HSI校准字节空间
要点提示:
本文档讲述在IAT_STM8环境下,如何在源代码中嵌入optionbytes和eeprom初始化数据,编译后和代码一起生成一个单一的s19或hex文件。也讲述了如何预留一段FLASH或EEPROM空间,供EP968烧录自动增量(自动增加的序列号)或HSI校准结果。
IAR_STM8使用ICF文件,来告诉链接器如何链接目标代码。在ICF文件里面声明一个指定地址的链接段语法如下:
//CopyRight www.mcuisp.com, Support Document For EP968, Versatile Handy Programmer
place at address mem:[from 0x4800 to 0x48ff] { readonly section OptionBytes };//注意大小写
这条语句定义了名为“OptionBytes”的段,地址范围从0x4800~0x48FF。
IAR_STM8在源代码中将定义分配到指定段的语法如下:
//CopyRight www.mcuisp.com, Support Document For EP968, Versatile Handy Programmer
#pragma location=" OptionBytes "//注意大小写
__root __far const unsigned char OptArray []=
{
#include "OptArray.c"
};
其中,OptionBytes是在ICF文件中定义的段,__root关键字使这个数组必定会出现在最终的hex代码里,__far使编译器以far的方式访问该数组(地址大于0xffff时需要)。OptArray.C请参见前述Part 1. Cosmic部分。
abbr_6265a5771226d62794926cb24b320473.pdf
(207.14 KB)
|