jicheng0622

【原创】使用Codewarrior10.x GCC编译器生成S19和Bin文件

0
阅读(16838)

    二月份的最后一天,忙活了一个月(这个月真是我工作以来最累的一个月,累虚了,呵呵),最后倒出点硬货,这样才能对得起广大博友嘛,哈哈。

    直接进入正题。飞思卡尔自从推出ARM架构的Kinetis系列之后,自家的编译器Codewarrior也更新到10.x来支持ARM开发,同时也是集众家之所长,将飞思卡尔几乎所有产品都搬到了CW10.x。对ARM内核的支持除了继续推出它自己的Freescale编译器之外也引入了大名鼎鼎的GCC编译器,所以我们在新建Kinetis系列工程的时候是可以选择这两个编译器之一作为工程的默认编译器(如下图),本篇的主题是使用Codewarrior10.5的GCC编译器生成S19或者Bin文件的方式。

Capture

(1)右键所选工程,选择Properties,在打开的对话框左边的选项卡选择C/C++ Build->Settings->Tool Settings,再选择Additional Tools,如下图,右侧选择“Creat Flash Image”,点击OK;

Capture

(2)“Sorry, 还没完呢”,咳咳,又想起本山大叔的台词了,呵呵。的确还没完,我们点击OK的作用是让“Create Flash Image”功能生效,但是还差一步,我们再选择工程,右键工程Properties,再来到C/C++ Build->Settings->Tool Settings,我们会看到最后多出来一个选项“ARM Ltd Windows GNU Create Flash Image“,选中“Output”,右侧的Output file format有个list,一般我们会选择srec(会生成.hex文件,但是里面是S19格式的烧写数据)和binary二进制文件(会生成.hex文件,但是里面是纯二进制数据),这里我们选择srec(选择bin类似),然后点击OK,然后编译整个工程;

image

(3)进入工程所在的文件路径,进入“Flash”文件夹,可以看到生成的.hex文件(实际上s19文件),如下图。同样的选择binary方式,会生成.hex纯二进制文件。注意这两种方式都会生成.hex文件,但是里面的内容是不同的,一个是s19格式,一个是二进制格式。

image

    OK了,总共分“三步”,呵呵,还是比较简单的,这样如果需要脱机烧写或者快速在线烧写的话就只需提供这两种格式的文件供烧写了。

    就这些了,写的口干舌燥的,赶紧去喝口水去,呵呵,下次再聊,未完待续~