AT91SAM9260下的U-Boot移植和添加LCD驱动支持
来源:互联网 发布:螺纹钢月线数据 编辑:程序博客网 时间:2024/06/05 19:29
第一步:从http://www.denx.de/wiki/U-Boot/SourceCode网站下载u-boot-2008.10.tar.bz2这个文件。
第二步:建立自己的交叉编译环境,我用的是arm-none-linux-gnueabi-,可以从这里下载最新的交叉编译器。建立的系统为fedora 16。设置好交叉编译环境变量。一般觉得export命令来设置会比较好用,有的会提供修改profile的方式和bash的方式。本人认为还是动态设置比较好。
第三步:首先用make disclean命令清除以前编译的u-boot.bin文件。接着用make at91sam9261ek_config命令来配置好编译的目标。
第四步:用vim Makefile命令,修改
- ifeq ($(ARCH),arm)
- CROSS_COMPILE = arm-linux- 改为 arm-none-linux-guneabi-
- endif
如果编译通过会生成 u-boot.bin文件
第六步:移植LCD 显示驱动:
需要修改LCD时序参数,以适合本站的竖屏。
u-boot-2008.10\board\atmel\at91sam9261ek\at91sam9261ek.c: 修改结构体:
- vidinfo_t panel_info = {
- vl_col: 240,
- vl_row: 320,
- vl_clk: 4965000,
- vl_sync: ATMEL_LCDC_INVLINE_INVERTED |
- ATMEL_LCDC_INVFRAME_INVERTED,
- vl_bpix: 3,
- vl_tft: 1,
- vl_hsync_len: 5,
- vl_left_margin: 1,
- vl_right_margin:33,
- vl_vsync_len: 1,
- vl_upper_margin:1,
- vl_lower_margin:0,
- mmio: AT91SAM9261_LCDC_BASE,
- };
- vidinfo_t panel_info = {
- vl_col: 480,
- vl_row: 272,
- vl_clk: 9000000,
- vl_sync: ATMEL_LCDC_INVLINE_INVERTED |
- ATMEL_LCDC_INVFRAME_INVERTED,
- vl_bpix: 3,
- vl_tft: 1,
- vl_hsync_len: 41,
- vl_left_margin: 2,
- vl_right_margin:2,
- vl_vsync_len: 10,
- vl_upper_margin:2,
- vl_lower_margin:2,
- mmio: AT91SAM9261_LCDC_BASE,
- };
- at91_set_A_periph(AT91_PIN_PB1, 0); /* LCDHSYNC */
- at91_set_A_periph(AT91_PIN_PB2, 0); /* LCDDOTCK */
- at91_set_A_periph(AT91_PIN_PB3, 0); /* LCDDEN */
- at91_set_A_periph(AT91_PIN_PB4, 0); /* LCDCC */
- at91_set_A_periph(AT91_PIN_PB7, 0); /* LCDD2 */
- at91_set_A_periph(AT91_PIN_PB8, 0); /* LCDD3 */
- at91_set_A_periph(AT91_PIN_PB9, 0); /* LCDD4 */
- at91_set_A_periph(AT91_PIN_PB10, 0); /* LCDD5 */
- at91_set_A_periph(AT91_PIN_PB11, 0); /* LCDD6 */
- at91_set_A_periph(AT91_PIN_PB12, 0); /* LCDD7 */
- at91_set_A_periph(AT91_PIN_PB15, 0); /* LCDD10 */
- at91_set_A_periph(AT91_PIN_PB16, 0); /* LCDD11 */
- at91_set_A_periph(AT91_PIN_PB17, 0); /* LCDD12 */
- at91_set_A_periph(AT91_PIN_PB18, 0); /* LCDD13 */
- at91_set_A_periph(AT91_PIN_PB19, 0); /* LCDD14 */
- at91_set_A_periph(AT91_PIN_PB20, 0); /* LCDD15 */
- at91_set_B_periph(AT91_PIN_PB23, 0); /* LCDD18 */
- at91_set_B_periph(AT91_PIN_PB24, 0); /* LCDD19 */
- at91_set_B_periph(AT91_PIN_PB25, 0); /* LCDD20 */
- at91_set_B_periph(AT91_PIN_PB26, 0); /* LCDD21 */
- at91_set_B_periph(AT91_PIN_PB27, 0); /* LCDD22 */
- at91_set_B_periph(AT91_PIN_PB28, 0); /* LCDD23 */
为:
- 01.static void at91sam9261ek_lcd_hw_init(void)
- 02.{
- 03. at91_set_A_periph(AT91_PIN_PB1, 0); /* LCDHSYNC */
- 04. at91_set_A_periph(AT91_PIN_PB2, 0); /* LCDDOTCK */
- 05. at91_set_A_periph(AT91_PIN_PB3, 0); /* LCDDEN */
- 06. at91_set_gpio_value(AT91_PIN_PB4, 1); /* LCDCC */
- 07. at91_set_A_periph(AT91_PIN_PB7, 0); /* LCDD2 */
- 08. at91_set_A_periph(AT91_PIN_PB8, 0); /* LCDD3 */
- 09. at91_set_A_periph(AT91_PIN_PB9, 0); /* LCDD4 */
- 10. at91_set_A_periph(AT91_PIN_PB10, 0); /* LCDD5 */
- 11. at91_set_A_periph(AT91_PIN_PB11, 0); /* LCDD6 */
- 12. at91_set_A_periph(AT91_PIN_PB12, 0); /* LCDD7 */
- 13. at91_set_A_periph(AT91_PIN_PB15, 0); /* LCDD10 */
- 14. at91_set_A_periph(AT91_PIN_PB16, 0); /* LCDD11 */
- 15. at91_set_A_periph(AT91_PIN_PB17, 0); /* LCDD12 */
- 16. at91_set_A_periph(AT91_PIN_PB18, 0); /* LCDD13 */
- 17. at91_set_A_periph(AT91_PIN_PB19, 0); /* LCDD14 */
- 18. at91_set_A_periph(AT91_PIN_PB20, 0); /* LCDD15 */
- 19. at91_set_B_periph(AT91_PIN_PB23, 0); /* LCDD18 */
- 20. at91_set_B_periph(AT91_PIN_PB24, 0); /* LCDD19 */
- 21. at91_set_B_periph(AT91_PIN_PB25, 0); /* LCDD20 */
- 22. at91_set_B_periph(AT91_PIN_PB26, 0); /* LCDD21 */
- 23. at91_set_B_periph(AT91_PIN_PB27, 0); /* LCDD22 */
- 24. at91_set_B_periph(AT91_PIN_PB28, 0); /* LCDD23 */
下面为验证的结果:
经过我和我的搭档两天的合作,终于把这个问题解决了!接下来把linux-2.6.30移植到这款板子上来!
0 0
- AT91SAM9260下的U-Boot移植和添加LCD驱动支持
- AT91SAM9260下的U-Boot移植和添加LCD驱动支持
- at91sam9260的u-boot移植
- at91sam9260 OpenWRT u-boot移植
- u-boot-2009.11在MINI2440上的移植 LCD驱动
- omap3evm的u-boot添加lcd的支持
- omap3evm的u-boot添加lcd的支持
- Arm9+linux fl2440 lcd驱动移植、添加MMC支持、添加U盘支持
- 修改U-boot文件,添加LCD驱动
- fl2440的U-boot-2010.09移植(七)LCD的支持
- fl2440的U-boot-2010.09移植(七)LCD的支持
- AT91SAM9260 SMC外接LCD的驱动
- 内核linux-3.0移植到fl2440-----添加U盘,MMC和LCD驱动
- Cubieboard的U-boot以太网驱动移植
- S3C2440 U-Boot移植--Norflash驱动支持- S29AL016
- RTEMS 的 AT91SAM9260 移植(3): 时钟驱动
- RTEMS 的 AT91SAM9260 移植(4): 中断驱动
- u-boot移植(四)添加网络支持
- 下拉列表,Spinner。
- 关于SQL转换为XML格式时的问题
- Unable to execute dex: java.nio.BufferOverflowException. Check the Eclipse log for stack trace.
- Substring with Concatenation of All Words
- typedef和#define的用法与区别
- AT91SAM9260下的U-Boot移植和添加LCD驱动支持
- 通过图片名称找到图片资源。
- 技术 blog11 之多线程 by 八戒
- Oracle学习-Power Designer、visio 2003、Oracle sql developer、OEM、expdp
- 积分图像的应用(一):局部标准差
- 第十四周项目三 OOP版电子词典
- 动态设置TextView文本颜色。
- 使用Android中的shape,来替代使用图片做按钮的背景。
- 有关Struts标签、OGNL表达式、EL表达式、JSTL标签库的一些事