2014025653《嵌入式系统程序设计》第三、四周学习总结

2014025653《嵌入式系统程序设计》第三、四周学习总结

课本学习总结

       tftp是简单文件传输协议,它可以看作是一个ftp的简化版本,与FTP相比,它最大的区别就是没有用户管理的功能。它的传输速度快,可以通过防火墙,使用方便快捷。        BootLoader是在操作系统内核运行之前运行的小程序,它类似于PC机中的BIOS程序,可以完成硬件设备的初始化。

BootLoader流程

![](http://images2015.cnblogs.com/blog/1150707/201705/1150707-20170513110915144-890557830.png) ![](http://images2015.cnblogs.com/blog/1150707/201705/1150707-20170513110941785-1883223311.png)

U-Boot特点

![](http://images2015.cnblogs.com/blog/1150707/201705/1150707-20170513111106597-100839660.png) ![](http://images2015.cnblogs.com/blog/1150707/201705/1150707-20170513112128144-758657499.png)

U-Boot主要功能

![](http://images2015.cnblogs.com/blog/1150707/201705/1150707-20170513112219676-955928660.png)

实验楼总结

       获取交叉编译工具的源代码并解压 ![](http://images2015.cnblogs.com/blog/1150707/201705/1150707-20170513113414519-1983453583.png)        测试arm-linux-gcc是否可运行 ![](http://images2015.cnblogs.com/blog/1150707/201705/1150707-20170513113611660-758179967.png)        运行结果显示找不到该文件或目录,主要原因是当前系统环境是x86_64位,而arm-linux-gcc是32位,需要解决64位系统下安装32位软件的问题。        解决64位系统下安装32位软件的问题 sudo apt-get update sudo apt-get install lsb-core        执行export命令将arm-linux-gcc所在目录临时加入PATH中: export PATH=$PATH:/home/shiyanlou/gcc-3.4.6-glibc-2.3.6/bin        获取u-boot源码导入解压 ![](http://images2015.cnblogs.com/blog/1150707/201705/1150707-20170513114620613-177986606.png)        建立板级支持包并将eduk2410目录下的smdk2410.c文件更名为eduk2410.c: ![](http://images2015.cnblogs.com/blog/1150707/201705/1150707-20170513114921019-700349193.png)        将eduk2410.c文件中的gpio->GPBCON = 0x00044555改为gpio->GPBCON = 0x0004455A:        为了使编译的时候能把这个文件编译进去,需要修改相应的Makefile: 将COBJS := smdk2410.o flash.o 改为COBJS := eduk2410.o flash.o        我们也需要为我们的开发板建立自己的配置文件。可以直接从 smdk2410开发板的配置文件中修改而来。因此我们先把smdk2410的配置文件复制到我们开发板的配置文件当中: ![](http://images2015.cnblogs.com/blog/1150707/201705/1150707-20170513115558707-963004065.png) 修改Makefile 将smdk2400_config: unconfig @$(MKCONFIG) $(@:_config=) arm arm920t smdk2400 NULL s3c24x0 修改为eduk2410_config: unconfig @$(MKCONFIG) $(@:_config=) arm arm920t eduk2410 NULL s3c24x0        编译U-Boot运行 ![](http://images2015.cnblogs.com/blog/1150707/201705/1150707-20170513115848910-1889452885.png)        结果 ![](http://images2015.cnblogs.com/blog/1150707/201705/1150707-20170513120245207-1861095424.png)

作业

![](http://images2015.cnblogs.com/blog/1150707/201705/1150707-20170513121348738-1282052123.png)        由代码可知需要新建一个src_file ![](http://images2015.cnblogs.com/blog/1150707/201705/1150707-20170513121426738-1631806172.png)        最后的结果 ![](http://images2015.cnblogs.com/blog/1150707/201705/1150707-20170513121448160-1804512480.png)        代码注释 ![](http://images2015.cnblogs.com/blog/1150707/201705/1150707-20170513121514269-312280648.png)

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 9篇 180小时 熟悉了Linux,vi,gcc
第一周 200/200 1/1 20/20 学会应用vi、gdb和makefile
第二周 400/600 1/2 20/40 了解了交叉编译和BootLoader的应用
第三周 600/1200 1/3 20/60
第四周 800/2000 1/4 20/80
第五周 800/2800 1/5 20/100
第六周 600/3200 1/6 20/120
第七周 600/2800 1/7 20/140
第八周 600/4400 1/8 20/160
第九周 600/5000 1/9 20/180
posted @ 2017-05-13 12:17  2014025653ZY  阅读(119)  评论(0编辑  收藏  举报