嵌入式系统开发预备知识(一)

        本书是根据任哲《嵌入式实时操作系统ucos-II原理及应用》学习所做笔记,为解决网络上同学学习ucos-II所产生的一些疑惑,同时也方便自己以后对于知识点的复习,所以才正正经经写的,可能写的比较多,也比较杂。

       本小节主要针对开发工具的一些讲解,网上的资源很多,也比较杂,如果不想去找,胡乱下载可以联系我,联系方式在我该系列的第一篇博客里面。

      BC3.1精简版

     之前讲过为什么不采用集成开发环境,采用核心开发工具和库其的主要目的是为了训练软件设计者在源码设计阶段想法设法来满足嵌入式应用的个性化操作,对源代码的编译以及连接阶段实施直接的操作与控制。

     BC3.1精简版只保留BC 3.1核心开发工具和库,bin目录中为各个开发工具,include目录为库代码的头文件,lib目录为库文件。其中开始阶段常用的有:bcc.exe 为 C语言程序编译器,tasm.exe 为汇编器,tlink.exe为连接器。make.exe则是为了执行makefile文件的执行工具,及工程管理器

     安装只需要将这三个目录放到任意盘目录下(如C盘目录bc下),每次需要使用哪个开发工具在命令行模式下输入(首先你的先进入你要编译的文件目录下):c:\bc\bin\bcc .......

    针对书中所设置的环境变量,我没搞好,所以每次都是输入绝对路径,也没有什么关系,就是多输几个字母而已。

    因为本系列博客不是教大家怎么去学ucos-II(我也没那个本事教),是为了解决大家学习过程所遇到的,所以我把我学习过程中所遇到的问题和学习心得写下来供大家参考学习,所以所以书中的代码是不怎么会去敲的。

   使用BC 3.1精简版编译一个简单的C语言程序步骤:

 (1)编写.c应用程序,如hello world,并将其放在一个目录下我的是 c:\ucos\

  (2)将应用程序编译成目标程序.在命令行进入程序所在目录,使用如下命令对源文件进行编译生成.obj目标文件:

c:\bc\bin\bcc -c -ml -Ic:\bc\include -Lc:\bc\lib test.c

         -c:指定将源文件编译成目标文件

        -ml:指定内存模式选项-ms -mh -ml

       -Ixxx:指定包含文件路径的选项

        -Lxxx:指定库文件路径的选项

           这里要注意后面的选项-c和和-ml和-Ix和-Lx中间没空格,目录是连续进入的,不能有空格,目录与选项之间有空格的。

           博主之前有接触过批处理这一块,简单命令行下常用命令有简单的了解,这里读者只需要知道 cd(进入目录)  dir(查看目录下文件)就可以了,想知道更多输入help命令查看其他操作命令

(3)把目标文件连接成.exe可执行文件

          为了生成可执行文件,还需要将目标文件与生成可执行文件所需要的其他目标文件连接起来,这时候就要发挥开发工具中的tlink.exe连接器,命令格式如下:

    tlink[选项...] 目标文件名[目标文件名s.....],可执行文件名,map文件名,lib文件名,def文件名

  其中map文件名是为了最后生成一个.map文件。其主要作用用来查看内存映射。def文件名,我不知道(55......)。目标文件名可能不止一个,这就是多文件编译的,因为项目开发不可能只有一个.c文件,之前你需要多次编译,生成多个目标文件。

   书中图2-5解释的很清楚,后面的mikefile,博主自己用的都不熟,没什么好写的了。

          本节说完了,下一节对于C语言这一块不会去过多涉及,这块属于基本功,主要讲一下控制块以及链表队列、栈。时间待定,下个星期很忙,手里面有两个项目要去做,估计时间不多。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值