6410-linux嵌入式平台搭建

来源:互联网 发布:淘宝粉丝福利购可靠吗 编辑:程序博客网 时间:2024/04/29 21:29
 本文由 @lonelyrains 出品,转载请注明出处。 

文章链接: http://blog.csdn.net/lonelyrains/article/details/6700827


1、         烧录sd卡,4KB空间,u-boot_mmc.bin

条件:IROM_Fusing_Tool工具

注意:

①      win7不支持IROM_Fusing_Tool,xp可以

②      无论是否烧录,sd卡的使用空间不会增加,总是4KB

2、         从sd卡启动,格式化nandflash

条件:dnw工具

注意:

①      打开dnw,配置串口,连接串口,长按空格再上电

②      拨码开关:1/2/3脚全拨向外

③      格式化时,有询问是否格式话时需要输入Y,但是不会被打印在屏上,此时直接点回车,不然可能会因输入错误报错

3、         USB下载引导程序u-boot.bin文件

条件:dnw在windows下的USB驱动

注意:连接USB线,装载驱动,直到窗口标题栏显示USB:OK

4、         USB下载内核映像zImage文件

5、         USB下载crame文件系统

6、         将qtopia拷贝到sd卡中,从nandflash启动

7、         从sd卡下载qtopia

8、         从内核启动,导入字体文件wenqy.ttf

条件:串口或者网口FTP或者网口telnet+FTP

注意:

① wenqy.ttf是黑体,也可以从网上下载其他的开源字库

② 从内核启动,拨码1/2脚向内,3脚向外

③ 进入字库目录,全删掉,然后将字体拷贝至该目录即可。字体所在的目录为:/usr/local/QtEembedded***/lib/fonts

9、         linux开机画面设置步骤

①      下载三个工具:pngtopnm,pnmquant,pnmtoplainpnm

②      格式转换:

$ pngtopnm linuxlogo.png > linuxlogo.pnm
$ pnmquant 224 linuxlogo.pnm > linuxlogo224.pnm
$ pnmtoplainpnm linuxlogo224.pnm > linuxlogo224.ppm

③      将生成的文件替换在内核文件目录drivers/video/logo/下的开机文件。本版本的内核开机画面文件名为linux_logo_clut224.ppm

④      重新编译内核(如果有其他修改,可暂时不编译,等一次修改完再编译,比如背光设置部分)

10、    目前版本的6410开发板背光设置

说明:drivers/video/Samsung/s3cfb.c文件,共有5处修改

①      #include "s3cfb.h"下方添加:

#include <asm/arch/gpio.h>#include <linux/gpio.h>#include <asm/uaccess.h>#include <plat/gpio-cfg.h>#include <plat/regs-gpio.h>#define GPIO_LCD_PWR_CTRL      S3C64XX_GPF(15)#define LCD_PWR_CTRL_ON()      s3c_gpio_setpin(GPIO_LCD_PWR_CTRL, 0)#define LCD_PWR_CTRL_OFF()     s3c_gpio_setpin(GPIO_LCD_PWR_CTRL, 1)
②      void s3cfb_stop_lcd(void)函数处
writel(tmp & ~(S3C_VIDCON0_ENVID_ENABLE | S3C_VIDCON0_ENVID_F_ENABLE), S3C_VIDCON0);
下方添加:
LCD_PWR_CTRL_OFF();

③      void s3cfb_start_lcd(void)函数处

writel(tmp | S3C_VIDCON0_ENVID_ENABLE | S3C_VIDCON0_ENVID_F_ENABLE, S3C_VIDCON0);
下方添加:
printk("--->>Look--->>%s--->>LCD_PWR_ON !\n", __FUNCTION__);LCD_PWR_CTRL_ON();

④      static int __init s3cfb_probe(struct platform_device *pdev)函数处

goto release_mem;}
下方添加:
s3c_gpio_cfgpin(S3C64XX_GPF(15), S3C64XX_GPF_OUTPUT(15));gpio_direction_output(S3C64XX_GPF(15), 1);gpio_set_value(S3C64XX_GPF(15), 1);LCD_PWR_CTRL_OFF();printk("--->>This--->>%s--->>LCD_PWR_Ctrl__Init !\n", __FUNCTION__);

⑤      static int __init s3cfb_probe(struct platform_device *pdev) 函数处

s3cfb_set_backlight_level(S3CFB_DEFAULT_BACKLIGHT_LEVEL);
下方添加:
s3c_gpio_cfgpin(S3C64XX_GPF(15), S3C64XX_GPF_OUTPUT(15));gpio_direction_output(S3C64XX_GPF(15), 1);gpio_set_value(S3C64XX_GPF(15), 0);LCD_PWR_CTRL_ON();printk("--->>This,--->>%s--->>LCD_PWR_Ctrl First ON !\n", __FUNCTION__);

          注意:

①         现存的两种版本的内核,0315和0609版本,将上述代码添加至0315版本,编译内核会报错;在0609版本中不会报错

②  背光设置和屏幕偏移部分的代码可以通过对比0315版本和0609版本的drivers/video文件夹的不同找到

11、    目前版本的6410开发板屏幕偏移

说明:drivers/video/Samsung/ s3cfb_video.h文件,共有1处修改

s3cfb_video_parameter_t video_parameter=""
"AT070TN83",/*lcd type or vga type*/部分的参数:

8,//40,      /* front porch */

4,//48,  /* hsync width */

16,//40,   /* back porch */

5,//13,      /* front porch */

1,//3,        /* vsync width*/

7,//29,      /* back porch */

         注意:目前使用的一组参数是不偏移的参数,注释掉的一组参数是根据目前的屏幕框更改的偏移

12、    程序开机启动的设置

步骤:

①      修改ect/init.d/rcS文件,将”qtopia”处修改为

#qtopiaecho “starting software *** ….”start_software.sh


不能直接将外部写好的rcS文件cp到本目录覆盖源文件,即使设置了权限,仍可能导致操作系统识别不了,提示找不到rcS文件

②      编写start_software.sh脚本。需要到执行文件当前目录才能执行的,cd进入当前目录。

③      Qt库的预先导入:默认情况下,开机启动时是尚未导入QT库的,而操作系统启动之后才导入。不预先导入Qt库会报No such file错。在start_software.sh执行文件启动之前加入如下代码:

export QTDIR=/usr/local/QtEmbedded-4.5.2export QPEDIR=/usr/local/QtEmbedded-4.5.2export PATH=$QTDIR/bin:$PATH             export LD_LIBRARY_PATH=$QTDIR/lib:/usr/local/lib:$LD_LIBRARY_PATHexport TSLIB_TSDEVICE=/dev/input/event1                          export TSLIB_CONFFILE=/usr/local/etc/ts.conf                     export TSLIB_PLUGINDIR=/usr/local/lib/ts                         export TSLIB_CALIBFILE=/etc/pointercal                           export QWS_MOUSE_PROTO="TSLIB:/dev/input/event1"export QWS_SIZE='480X272'                       # USB:/dev/input/mice"                          export QWS_KEYBOARD=TTY:/dev/tty1export LD_LIBRARY_PATH=/usr/local/QtEmbedded-4.5.2/lib:$LD_LIBRARY_PATH

原创粉丝点击