linux实训指导书-详细版_第1页
linux实训指导书-详细版_第2页
linux实训指导书-详细版_第3页
linux实训指导书-详细版_第4页
linux实训指导书-详细版_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、嵌入式linux系统开发实训指导书设计题目:嵌入式系统的移植与调试1、实训的目的嵌入式linux系统开发实训通过把理论教学与实践教学紧密的结合在一起,将所掌握的理论知识应用于实践中来,从而加深对所学理论知识的理解并培养基本的实际应用和产品开发能力。2、实训设计内容及要求(1主要技术指标和要求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

2、进行通信。D、以上三项内容,学生可以自选一项作为本次实训的内容,有条件的学生可以三项都做,也可以小组分工形式完成。(2实训计划与开展步骤开发环境搭建在PC机上搭建好开发平台,安装必要的开发工具,如串口工具,代码阅读工具,git,交叉编译工具链等。开发板的熟悉开发板的熟悉,先认真阅读用户手册的内容,动手实践用户手册里的操作。了解开发板的基本使用,linux系统的使用与设置,构建嵌入式linux的软件开发环境,构建开发板的软件开发环境等等。U-Boot的移植与调试克隆u-boot源码到本地仓库,参考TI的EVM板进行移植。移植的步骤请查看书本的介绍或网上查找相关资料。u-boot的测试:引导系统正

3、常启动。(基本要求测试RAM、NAND、MMC、I2C、ETH的支持并进行调试,可参照参考资料里的u-boot测试用例文档。(不做硬性要求Kernel的移植与测试克隆kernel的源码到本地仓库,参考TI的EVM板进行移植。移植的步骤请查看书本的介绍或网上查找相关资料。内核的测试:内核的正常启动。(基本要求调试LCD、触摸屏,AT24(I2C,按键驱动,LED,使其能正常工作。(不做硬性要求linux串口应用编程编写一个自收自发的串口应用程序,可参考书本上的串口编程的例子。串口程序测试:通过PC机的串口助手测试。(基本要求扩展功能:可通过配置参数设置串口的波特率,具有等待超时功能。3、实训内容

4、实现参考内核移植步骤和驱动调试参考I、基本移植步骤:1.修改顶层的MakefileCROSS_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_deconfine5.make menuconfie 修改成目标板;(这时可以保存顶层目录的.config文件为xx_deconfig6.make uImage -j4II、驱动的

5、移植和调试:一.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 */对

6、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的值会影

7、响屏的响应速度board_xx_init(spi_register_board_info(omap3stalker_spi_board_info,ARRAY_SIZE(omap3stalker_spi_board_info;ads7846_dev_init(; 申请中断引脚GPIO并初始化2.中断引脚配置:中断引脚定义:#define OMAP3_EVM_TS_GPIO 20中断引脚PINMUX设置:#ifdef CONFIG_TOUCHSCREEN_ADS7846OMAP3_MUX(ETK_D6, OMAP_MUX_MODE4 | OMAP_PIN_INPUT_PULLUP |OMAP_PI

8、N_OFF_INPUT_PULLUP | OMAP_PIN_OFF_OUTPUT_LOW |OMAP_PIN_OFF_WAKEUPENABLE,#endif三、FRAM驱动的添加1.创建一个i2c设备;/ * struct i2c_board_info - template for device creation* type: chip type, to initialize i2c_* flags: to initialize i2c_client.flags* addr: stored in i2c_client.addr* platform_data: stored

9、 in i2c_client.dev.platform_data* archdata: copied into i2c_client.dev.archdata* irq: stored in i2c_client.irq* I2C_BOARD_INFO - macro used to list an i2c device and its address* dev_type: identifies the device type* dev_addr: the devices address on the bus.* at24_platform_data* - How much memory is

10、 available (usually specified in bit?* - What write page size does it support?* - Special flags (16 bit addresses, read_only, world readable.?*/static struct fram_info = .byte_len = (64*1024 / 8,.page_size = 256,.flags = AT24_FLAG_IRUGO,;static struct i2c_board_info _initdata omap3stalker_i2c_boardi

11、nfo3 = I2C_BOARD_INFO(24c64, 0x50,.flags = I2C_CLIENT_WAKE,.platform_data = &fram_info,;2.将创建的i2c设备注册到所在的i2c总线上:omap_register_i2c_bus(3, 400, omap3stalker_i2c_boardinfo3,ARRAY_SIZE(omap3stalker_i2c_boardinfo3;3.调试的错误信息:0x5d的地址已经被其他设备注册了。 14.025848 i2c i2c-3: Failed to register i2c client dummy at 0x5d (-16 14.032745 at24 3-0050: address 0x5d unavailable 14.040008 a

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论