UPNETARMS入门资料讲解.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
嵌入式linux的开发流程 什么是BootLoader BootLoader 是在操作系统内核运行之前运行的一段小程序。通过这段小程序,可以完成初始化硬件设备、建立内存空间的映射图、和内核镜像建立通讯通道和调试通道等等工作,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核准备好正确的环境。 不同的系统不同的处理器可能有不同的启动方案,但无外乎都是“Boot”和“Load”两种工作。 建立引导装载程序BOOTLOADER 从网络上下载一些公开源代码的BOOTLOADER,如U-BOOT、BLOB、VIVI、LILO、ARM-BOOT、RED-BOOT等; 根据自己所采用芯片的类型进行移植修改。 嵌入式linux的开发流程 下载LINUX操作系统 如UCLINUX、ARM-LINUX、PPC-LINUX等,如果有专门针对你所使用的CPU移植好的LINUX操作系统那是再好不过; 下载后再添加自己的特定硬件的驱动程序,进行调试修改; 对于带MMU的CPU可以使用模块方式调试驱动,对于UCLINUX这样的系统只能编译进linux内核进行调试。 嵌入式linux的开发流程 建立根文件系统 从下载BUSYBOX软件进行功能裁减,产生一个最基本的根文件系统,再根据自己的应用需要添加其他的程序。默认的启动脚本一般都不会符合应用的需要,所以就要修改根文件系统中的启动脚本,存放位置位于/etc目录下,包括:/etc/init.d/rc.S、/etc/profile、/etc/.profile等,自动挂装文件系统的配置文件/etc/fstab,具体情况会随系统不同而不同。根文件系统在嵌入式系统中一般设为只读,需要使用mkcramfs 、genromfs等工具产生烧写映象文件。 嵌入式linux的开发流程 建立应用程序的flash磁盘分区 一般使用JFFS2或YAFFS文件系统,这需要在内核中提供JFFS2或YAFFS文件系统的驱动; 有的系统使用一个线性flash(NOR型)512K-32M,有的系统使用非线性flash(NAND型)8-512M,有的两个同时使用,需要根据应用来规划flash的分区方案。 嵌入式linux的开发流程 开发应用程序 下载到根文件系统中; 放入YAFFS、JFFS2文件系统中; 直接将应用程序和内核编译在一起,有点类似于UCOS-II的方式. 嵌入式Linux下应用程序的调试 在宿主PC计算机上启动NFS服务,设置好共享的目录 在开发板上挂在PC机的NFS文件系统: mount -t nfs 21:/arm2410s /host 运行,查看结果、调试 应用程序是如何编译出来的… Makefile文件定义了一系列的规则 Makefile文件指明了哪些文件需要编译,哪些文件需要先编译,哪些文件需要重新编译等等更为复杂的命令; 使用Makefile带来的好处就是自动编译,你只需要敲一个“make”命令整个工程就可以实现自动编译 Makefile文件举例: CC= armv4l-unknown-linux-gcc --CC 指明编译器 EXEC = hello --EXEC 表示编译后生成的执行文件名称 OBJS = hello.o --OBJS 目标文件列表 CFLAGS += --CFLAGS 编译参数 LDFLAGS+= –static --LDFLAGS 连接参数 Makefile文件举例: all: $(EXEC) --all: 编译主入口 $(EXEC): $(OBJS) $(CC) $(LDFLAGS) -o $@ $(OBJS) clean: --clean: 清除编译结果 -rm -f $(EXEC) *.elf *.gdb *.o 注意:“$(CC) $(LDFLAGS) -o $@ $(OBJS)”和“-rm -f $(EXEC) *.elf *.gdb *.o”前空白由一个Tab制表符生成,不能单纯由空格来代替。 嵌入式linux的开发流程 烧写vivi 、内核、根文件系统、应用程序到flash中 . 发布产品. linux系统及应用程序的烧写 Bootloader代码—VIVI,通过并口线和Jtag简易仿真器烧写; Kernel,root.cramfs,通过串口烧写; 应用程序,通过网口下载. 通过Windows xp下的超级终端控制来烧写linux操作系统。 超级终端的建立(xp为例) 开始→程序→附件→通讯→超级终端,

文档评论(0)

boss + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档