- 1、本文档共5页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
嵌入式linu 指导书(嵌入式 1)
《嵌入式linux系统实训 》指导书
指导教师: 吕祖成 丁度树
设计题目:嵌入式系统的移植与调试
实训的目的
嵌入式linux系统开发实训通过把理论教学与实践教学紧密的结合在一起,将所掌握的理论知识应用于实践中来,从而加深对所学理论知识的理解并培养基本的实际应用和产品开发能力。
2、实训设计内容及要求
主要技术指标和要求
A、用u-boot官网2011.06版本的源码移植到SBC3X平台,并测试RAM、NAND、MMC、I2C、ETH的支持。
B、用arago PSP03.00.01.06版本的源码移植到SBC3X平台,并调试LCD、触摸屏,AT24(I2C),按键驱动,LED,使其能正常工作。
C、linux串口应用编程(跟PC进行通信)。
D、以上三项内容,学生可以自选一项作为本次实训的内容,有条件的学生可以三项都做,也可以小组分工形式完成。
实训计划与开展步骤
开发环境搭建
在PC机上搭建好开发平台,安装必要的开发工具,如串口工具,代码阅读工具,git,交叉编译工具链等。
开发板的熟悉
开发板的熟悉,先认真阅读用户手册的内容,动手实践用户手册里的操作。了解开发板的基本使用,linux系统的使用与设置,构建嵌入式linux的软件开发环境,构建开发板的软件开发环境等等。
U-Boot的移植与调试
克隆u-boot源码到本地仓库,参考TI的EVM板进行移植。移植的步骤请查看书本的介绍或网上查找相关资料。
u-boot的测试:
引导系统正常启动。(基本要求)
测试RAM、NAND、MMC、I2C、ETH的支持并进行调试,可参照参考资料里的u-boot测试用例文档。(不做硬性要求)
Kernel的移植与测试
克隆kernel的源码到本地仓库,参考TI的EVM板进行移植。移植的步骤请查看书本的介绍或网上查找相关资料。
内核的测试:内核的正常启动。(基本要求)
调试LCD、触摸屏,AT24(I2C),按键驱动,LED,使其能正常工作。(不做硬性要求)
linux串口应用编程
编写一个自收自发的串口应用程序,可参考书本上的串口编程的例子。
串口程序测试:通过PC机的串口助手测试。(基本要求)
扩展功能:可通过配置参数设置串口的波特率,具有等待超时功能。
3、实训内容实现参考
内核移植步骤和驱动调试参考
I、基本移植步骤:
1.修改顶层的Makefile
CROSS_COMPILE ?= /usr/local/arm/arm-2009q1/bin/arm-none-linux-gnueabi-
2.复制mach-xx/board-xx.c参考板文件,然后在相应的目录下的Kconfig和Makefile添加目标板;
3.修改board-xx.c的MACHINEID;
4.make 参考板的xx_deconfine
5.make menuconfie 修改成目标板;(这时可以保存顶层目录的.config文件为xx_deconfig)
6.make uImage -j4
II、驱动的移植和调试:
一.lcd 驱动 添加;
1.在board-xx.c文件添加lcd_device和修改对应的lcd-enable pin;
2.在drivers/video/目录下添加lcd panel support.c文件,并在对应目录的Kconfig和Makefile添加lcd选项;
二、触摸屏驱动调试
在board-xx.c文件里定义:
1.触摸屏芯片挂在McSPI总线上:
对ads7846_platform_data配置;触摸屏IC参数;
对omap2_mcspi_device_config配置; McSPI主从模式选择/*single_channel: 0: slave, 1: master */
对spi_board_info配置;挂在第几条McSPI总线、总线速率、中断号
struct spi_board_info omap3stalker_spi_board_info[] = {
[0] = {
.modalias = ads7846,
.bus_num = 1,
.chip_select = 0,
.max_speed_hz = 1500000,
.controller_data = ads7846_mcspi_config,
.irq = OMAP_GPIO_IRQ(OMAP3_EVM_TS_GPIO),
.platform_data = ads7846_config,
},
};
注:debounce_tol的值会影响屏的响应速度
board_xx_init()
spi_register_board_info(omap3stalk
文档评论(0)