|
最近又折腾起来430编译软件软件了,在公司用的IAR5.30版的,最近申请了TI的几块样片打算搞个小东西,谁知5.30版本没有最新的芯片库,然后各种百度,百度不顶用,全是广告,然后上阿莫,然后在坛友的帖子里得出结论升级最新版的IAR,IAR商业软件不给力啊,新版又不好破解,然后想想能不能把IAR最新的芯片库弄到老版的IAR,然后试了下还可以,在芯片库可以找到最新的芯片,(新版的芯片库太大,无法上传,过段时间上传到百度云,分享给大家)至于编译下载我还不知道行不,对此以后慢慢讨论。但是我对此还不是太满意,总感觉少了点什么,然后又在百度论坛找关于430开源的编译器,结果找到了codeblocks,眼前一阵豁然开朗,然后开始慢慢折腾起来了,软件小果然安装快,然后有下载最新版的mspgcc,但是发现还是芯片库没有最新的芯片链接脚本,但是我打开其他芯片脚本,脚本还好,格式很简单,想我这菜鸟还能理解,两个脚本一个是芯片格式的定义,一个是寄存器的定义,自己花了半天写新芯片的脚本,终于完成了,到最后没想到我这菜鸟,程序竟然能够编绎能通过;下面是我写的链接脚本
MEMORY {
sfr : ORIGIN = 0x0000, LENGTH = 0x0010 /* END=0x0010, size 16 */
peripheral_8bit : ORIGIN = 0x0010, LENGTH = 0x00f0 /* END=0x0100, size 240 */
peripheral_16bit : ORIGIN = 0x0100, LENGTH = 0x0100 /* END=0x0200, size 256 */
bsl : ORIGIN = 0x1000, LENGTH = 0x0800 /* END=0x1800, size 2K as 4 512-byte segments */
infomem : ORIGIN = 0x1800, LENGTH = 0x0200 /* END=0x1a00, size 512 as 4 128-byte segments */
infod : ORIGIN = 0x1800, LENGTH = 0x0080 /* END=0x1880, size 128 */
infoc : ORIGIN = 0x1880, LENGTH = 0x0080 /* END=0x1900, size 128 */
infob : ORIGIN = 0x1900, LENGTH = 0x0080 /* END=0x1980, size 128 */
infoa : ORIGIN = 0x1980, LENGTH = 0x0080 /* END=0x1a00, size 128 */
ram (wx) : ORIGIN = 0x2400, LENGTH = 0x4000 /* END=0x6400, size 16K */
rom (rx) : ORIGIN = 0x8000, LENGTH = 0x7f80 /* END=0xff80, size 32640*/
vectors : ORIGIN = 0xff80, LENGTH = 0x0080 /* END=0x10000, size 128 as 64 2-byte segments */
far_rom : ORIGIN = 0x00010000, LENGTH = 0x00078000 /* END=0x00088000, size 480K */
ram2 (wx) : ORIGIN = 0x000f0000, LENGTH = 0x0000c000 /*END=0x000fc000, size 48K */
/* Remaining banks are absent */
ram_mirror (wx) : ORIGIN = 0x0000, LENGTH = 0x0000
usbram (wx) : ORIGIN = 0x0000, LENGTH = 0x0000
}
REGION_ALIAS("REGION_TEXT", rom);
REGION_ALIAS("REGION_DATA", ram);
REGION_ALIAS("REGION_FAR_ROM", far_rom);
PROVIDE (__info_segment_size = 0x80);
PROVIDE (__infod = 0x1800);
PROVIDE (__infoc = 0x1880);
PROVIDE (__infob = 0x1900);
PROVIDE (__infoa = 0x1980);
这个文件有一点我还不太清楚,我看了好些芯片脚本,有些芯片是没有bsl 段的定义其他的段的定义和IAR xxxx.xcl 文件非常像,也希望大神能够赐教!
__ADC12CTL0_L = 0x0700;
__ADC12CTL0_H = 0x0701;
__ADC12CTL0 = 0x0700;
__ADC12CTL1_L = 0x0702;
.........................
至于这个文件就是对一些寄存器的地址的定义,想毕大家都知道。有一点需要注意就是等号俩边必须加空格,不然编译报错,浪费了我好长时间
然后我在头文件遇见一点麻烦,我看芯片头文件是TI 公司写的但是怎么都找不到头文件下载地址没办法我把IAR的头文件拿过来了(希望知道下载地址的坛友给个链接),一编译完全错了,一打开头文件,俩个软件的头文件格式还不完全一样,又开始改头文件,这个改起来也很简单,大家参考一下mspgcc目录下其他芯片的头文件格式。
不过高兴的是今天我把以前的项目文件添加进来,最后编译成功,并且输出了-elf文件,但是最后不知道code blocks如何构建FET DEBUG环境,希望知道的坛友给个路子(完全搜不到),没事折腾一下,开源的软件,要支持!
下面是codeblocks 430编译环境的构建链接
http://www.eeboard.com/bbs/thread-1632-1-1.html |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
阿莫论坛20周年了!感谢大家的支持与爱护!!
月入3000的是反美的。收入3万是亲美的。收入30万是移民美国的。收入300万是取得绿卡后回国,教唆那些3000来反美的!
|