iar编译a文件
❶ 用IAR嵌入式编译程序,“section=”是什么意思
#pragma section( "section-name" [, attributes] ) 作用是由程序指定创建一个段x0dx0a一般默认段都是由编译器自动指定的 不过看你这样的写法 IAR的时候是没有默认段的 必须由编写者手动指定x0dx0a比如#pragma section = ".data"就是创建一个名字为.data的段,x0dx0a然后下面调用x0dx0adata_ram = __section_begin(".data");x0dx0a来获取这个段的首地址以备其操作x0dx0a其他类似x0dx0a关于pragma section的详细说明如下。 对于#pragma 预处理还有很多功能 感兴趣可以自行搜索x0dx0a==================================================================================x0dx0a#pragma section。创建一个段。x0dx0a其格式为:#pragma section( "section-name" [, attributes] )x0dx0asection-name是必选项,用于指定段的名字。该名字不能与标准段的名字想冲突。可用/SECTION查看标准段的名称列表。x0dx0aattributes是可选项,用于指定段的属性。可用属性如下,多个属性间用逗号(,)隔开:x0dx0aread:可读取的x0dx0awrite:可写的x0dx0aexecute:可执行的x0dx0ashared:对于载入该段的镜像的所有进程是共享的x0dx0anopage:不可分页的,主要用于Win32的设备驱动程序中x0dx0anocache:不可缓存的,主要用于Win32的设备驱动程序中x0dx0adiscard:可废弃的,主要用于Win32的设备驱动程序中x0dx0aremove:非内存常驻的,仅用于虚拟设备驱动(VxD)中x0dx0a如果未指定属性,默认属性为read和write。x0dx0a在创建了段之后,还要使用__declspec(allocate)将代码或数据放入段中。x0dx0a例如:x0dx0a//pragma_section.cppx0dx0a#pragma section("mysec",read,write)x0dx0aint j = 0;x0dx0a__declspec(allocate("mysec"))x0dx0aint i = 0;x0dx0aint main(){}x0dx0a该例中, 创建了段"mysec",设置了read,write属性。但是j没有放入到该段中,而是放入了默认的数据段中,因为它没有使用__declspec(allocate)进x0dx0a行声明;而i放入了该段中,因为使用__declspec(allocate)进行了声明。
❷ 用IAR编译Atmega64A所需要包含的头文件是什么
找到IAR安装目录,添加对应的头文件,适用于不同型号,ATMEGA64A--iom64a.h即可
❸ keil 导入怎么导入.a文件
keil默认的自带的编译器是不支持.a库文件的,iar或者gcc编译器可以生成和使用.a库。如果要在keil下使用.a库就要改变keil的编译器为gcc。可以参考下面的文章,希望可以帮到你。
http://blog.csdn.net/lan120576664/article/details/46806991
http://blog.csdn.net/lan120576664/article/details/46828473
❹ keil和IAR生成的hex和lib,.a库文件的区别和联系
LIB库有什么用,一个简单的例子就是Silicon Labs为C8051F单片机USB提供的USBXpress LIB库了,如USB发送数据、接收数据等,都是通用性很强的函数,但因为保密的原因,这个函数是怎么写的,用户是不知道的,只提供接口的API函数,只要调用这些函数即可完成相应功能
使用时,用户只要导入相应的库,并引用相应的h文件,就可以直接调用库中的函数,编译器编译时自动从库中引用用户调用过的函数
❺ 如何配置IAR for 8051为CC2530产生HEX文件
DECLARE A INT
SET A=5 --赋值修改A就行了
update game set ct_lvneed=ct_lvneed/2 where ct_num=A
update game set ct_lvneed=ct_lvneed/3 where ct_num=A
update game set ct_lvneed=ct_lvneed/4 where ct_num=A
update game set ct_lvneed=ct_lvneed/5 where ct_num=A