TI-AM1808-linux笔记.doc_第1页
TI-AM1808-linux笔记.doc_第2页
TI-AM1808-linux笔记.doc_第3页
TI-AM1808-linux笔记.doc_第4页
TI-AM1808-linux笔记.doc_第5页
已阅读5页,还剩78页未读 继续免费阅读

下载本文档

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

文档简介

TI-AM1808_LINUX开发笔记一、开发环境1.windows XP + VMware+ubuntu10.042.共享目录:ubuntu3.ubuntu开发目录:/home/liudong3.编译工具:arm-none-linux-gnueabi-gcc 4.3.34.系统硬件 处理器:AM1808,64M SDRAM,128M nandflash。5.虚拟机网络设置本机PC: ip:1 掩码:255.255.255 网关:虚拟网卡net1: ip:00 掩码:255.255.255 网关:虚拟网卡net8: ip:01 掩码:255.255.255 网关:虚拟机连接方式:bridgedLinux 系统设置:ip:2 掩码:255.255.255 网关:二、开发工具2.1 安装系统及工具1.安装ubuntu系统2.设置ubuntu与XP的共享目录系统安装好以后,没有GCC编译器,因此需要先安装gcc编译工具。解决方法:#sudo apt-get install g+3.ubuntu系统默认是用户账户登录,因此刚装好系统后,root用户没有密码,要设置新密码可以采用命令$:sudo passwd root切换到root用户的命令#su切换回用户账户命令#su user4.安装vm-tool,并通过option设置共享文件夹5.安装后如果能看到hgfs文件夹,但看不到共享的目录,则解决方法为:#sudo apt-get install open-vm-dkms出现选择提示时,直接选择Y#sudo mount t vmhgfs .host:/ /mnt/hgfs6安装交叉编译工具链拷贝工具文件到tool目录下,然后解压文件到该目录中添加路径:更新文件:#source /etc/profile查看工具是否安装成功2.2 安装tftp和nfs服务器1.tftp-hpa是客户端,tftpd-hpa是服务端。安装TFTP软件命令为:#sudo apt-get install tftp-hpa tftpd-hpa2.配置TFTP服务器3.启动tftp服务器NFS服务器安装nfs服务器命令#sudo apt-get install nfs-kernel-server/etc/exports配置可以用showmount -e 查看配置文件如果配置文件改动,可以用下面命令更新配置重启NFS服务查看状态自己挂接自己如果配置文件后没进行更新,可能出现下面情况。可以用exprot r进行更新2.3 关闭防火墙Sudo ufw disable2.4 M1808烧写各个文件/article/0a52e3f4608526bf62ed72e3.html一、在uart2启动模式下,通过sfh_OMAP-L138.exe烧写ubl.bin和u-boot.bin文件至nandflash中;1、sfh_OMAP-L138.exe -erase -targetType INTDEV0 -flashType NAND -p COM12、sfh_OMAP-L138.exe -flash -targetType INTDEV0 -flashType NAND -v -p COM1 ubl_INTDEV0_NAND.bin u-boot.bintftp安装配置:=Putty连接不上ubuntu解决Ubuntu自身默认是不带openssh server的,而是只有openssh client。使用命令sudo apt-get install openssh-server 2.5 查找进程ID#ps as 可以查看进程对应的ID杀掉进程#kill ID安装TI-SDK在ubuntu中,直接./ 执行。安装完成后执行 ./setup.sh安装SDK直接在终端中执行 ./dvsdk.提示选择否配置环境变量安装目录下执行 ./setup.shTo test your NFS setup, follow these steps: /index.php?title=GSG:_Setting_up_OMAP-L1_Target_File_System1. Copy the kernel Image (uImage) from the /home/DaVinci-PSP-SDK-03.#.#.#/images/kernel/ directory of the SDK software installation to the /tftpboot directory of your Linux host workstation. This kernel will be used to test the NFS target file system. If you do not have a TFTP server configured please see the Setting up a TFTP Server page. host $ cp /home/DaVinci-PSP-SDK-03.#.#.#/images/kernel/uImage /tftpboot 2. Get the IP address of your host Linux workstation as follows. Look for the IP address associated with the eth0 ethernet port. host $ /sbin/ifconfig 3. Open a terminal session to connect to the EVM board via RS-232 using the instructions in the Connecting to a Console Window section. If you have a Windows workstation, you can use TeraTerm. If you have a Linux workstation, you might use Minicom. (You may need to turn on line wrap) 4. Power on the EVM board and abort the automatic boot sequence by pressing a key in the console window. 5. Set the following environment variables in the console window: EVM # setenv nfshost EVM # setenv rootpath NOTE: The must match what you specified in step 4 of the Exporting a Shared File System for Target Access section. For example, /home/workdir/filesys. EVM # setenv serverip EVM # setenv bootfile uImage EVM # setenv bootcmd dhcp;tftp;bootm EVM # setenv bootargs console=ttyS2,115200n8 noinitrd rw ip=dhcp root=/dev/nfs nfsroot=$nfshost:$rootpath,nolock mem=32M NOTE: that the setenv bootargs command should be typed on a single line. Also note that you should avoid using the numeric keypad to enter numbers, as it can sometimes insert extra invisible characters. NOTE: The use of parenthesis for variable substitution is being deprecated for new U-boot releases - use curly braces instead. Check http:/www.denx.de/wiki/view/DULG/CommandLineParsing Hints: You may want to use the printenv command to print a list of your environment variables. You can also save these setenv commands in a .txt file from which you can paste them in the future. 6. Save the environment so that you do not have to retype these commands every time you cycle power on the EVM board: EVM # saveenv 7. Boot the board using NFS: EVM # boot NOTE: The first boot of this file system may take a while to complete while security keys are being generated. Subsequent boots will not have this delay. 8. You can now log in as root in the target with no password required. 三、编译U-BOOT3.1编译u-boot编译时,源文件应该放在具有操作权限的文件中。修改设置/index.php/GSG:_Building_Software_Components_for_OMAP-L1#Rebuilding_U-Boot1.修改默认选项修改29行修改139行,环境偏移量和环境变量长度修改244 MMC设置3.编译配置:u-boot主要配置内容为RAM与FLASH的大小,引导内核是从那里启动等修改文件为:./include/configs/da850evm.h3.2环境变量设置从nfs启动文件系统四、编译内核4.1 编译命令注:编译前应该讲u-boot编译后生成的mkimage拷贝到/bin下,或者添加mkiamge的路径到环境变量。 /u-boot/tool配置内核如果不能使用make menuconfig 命令,则需要安装如下插件:4.2 修改文件修改液晶驱动参数ABCD修改mach-davinci/系统分区信息:/index.php/Creating_a_Root_File_System_for_Linux_on_OMAP35x#Configure_the_Linux_Kernel_to_Support_File_Systems编译2.26.37时:14.3触摸屏移植修改文件修改大概649行大概1121行/SPI0修改文件:1. 234.567894.4 配置文件配置文件命令:=输入make menuconfig时出现上面错误,解决办法4.5内核启动五、编译文件系统5.1.制作文件系统1.下载busybox,下载地址/downloads/本次的版本为busybox-1.19.4.tar.bz22解压3.配置4.编译5.安装6.创建系统其他文件7.拷贝编译工具链的库文件8.添加启动文件添加内容如下:9.创建fstab文件,并添加内容10.建立文件init.d目录,并新建rcS文件,如下改变rcs权限11.创建profile文件12.创建设备文件。因为根文件系统中必须有一个设备节点5.2制作工具mkfs.jffs213.解压zlib配置修改makefile编译安装。权限不够加sudo14.安装MTD解压进入util文件,修改Makefile文件的编译器为交叉编译器,生成PC版本的只需将CROSS那一行屏蔽掉即可编译安装完成后将mkfs.jffs2拷贝到/bin下另一种方法:直接使用apt-get install mtd-utils命令生成根文件=我是华丽分割线=1. 编译busybox解压源码打补丁2.配置,配置内容请参考资料中busybox_rootfs.pdf。以及配置好的rootfs-ld.config文件。#make xconfig3.编译#make1、首先制作好文件系统所需的文件2、安装制作文件系统镜像的工具,有很多种cramfs,yaffs2,yaffs,jffs,jffs2。这里安装制作jffs2镜像的工具。首先安装ZLIB,复制并解压配置修改makefile文件makesudo make install首先拷贝安装包到系统解压文件,并修改Makefile设置切换到root用户,在util路径下执行make后再执行make install安装完成后,将在系统文件中生成相应的文件,如上图。编译ARM版本完成后,在修改Makefile文件,编译PC版本的mkfs.jffs2,使得我们能在PC行生成jffs2文件5.2生成根文件系统镜像六、编译应用程序6.1 安装QT -SDK6.2 安装tslib-1.4拷贝至安装路径,进行解压123rm 在./configure错误才执行456将代码拷贝到根文件系统中(注意tslib依赖的动态链接库文件,记得要拷贝到根文件系统的/lib里),并修改/etc/porfile就好了.这些在我提供的网页里都有,我就不在这重复了,如果像我一样设置好开发板的根目录路径存放tslib(/work/fs/rootfsln/usr/tslib)就不用拷贝了.如果忘了拷贝动态库,就会出现以下提示:error while loading shared libraries : libdl . so . 2 : cannot open shared object file : No such file or directory事实上,根目录、tslib和qt的交叉编译器应该一致才对,这样动态库就不会有冲突问题./wenes1/blog/10-05/190293_09ed8.html(5)$TSLIB_ROOT/ etc/ts.conf配置module_raw inputmodule pthres pmin = 1module variance delta = 30module dejitter delta = 100module linear注意:如果使用了带滤波的触摸屏驱动,在ts.conf文件中可以屏蔽#module pthres pmin=1#module variance delta=30#module dejitter delta=100这三行,因使用内核滤波也可以保障稳定.但是再加上tslib的滤波也可以,效果更好.(6) 在开发板的/work/fs/rootfsln/etc/profile文件里添加运行tslib的环境变量(一定要放到/etc/profile,放到/etc/init.d/rcS里就没有作用,原因是export只能在当前shell和它的子shell有用,不能影响登录的shell)# Set TSLIBecho Set ENV for tslib.export QWS_MOUSE_PROTO = TPanel : / dev / event0export TSLIB_ROOT = / usr / tslibexport TSLIB_TSDEVICE = / dev / event0export TSLIB_CALIBFILE = $ TSLIB_ROOT / etc / pointercalexport TSLIB_CONFFILE = $ TSLIB_ROOT / etc / ts . confexport TSLIB_PLUGINDIR = $ TSLIB_ROOT / lib / tsexport TSLIB_CONSOLEDEVICE = noneexport TSLIB_FBDEVICE = / dev / fb0export LD_LIBRARY_PATH = $ LD_LIBRARY_PATH : $ TSLIB_ROOT / lib(这句我注释掉的原因是:有一种说法是使用 LD_LIBRARY_PATH这样设置不安全,我的做法是把路径添加到/work/fs/rootfsln/etc/ld.so.conf文件中,然后执行ldconfig命令,这样就可以了.ldconfig在你的交叉编译工具里就有) 6.3 编译ARM的qt库文件1.配置最新编译文件系统的qt库时还要加上 qt-mouse-tslib,减少输出信息加 silent之后分别选择o和yes以前老配置注:关于配置选项AbcD其他=我是分割线=2.make6.4使用qt进行开发1.使用qtcreator编译创建好工程后,点击左边项目,设置qmake路径,并修改环境变量。Qmakespec为变量的qt-arm的路径。2.使用命令行编译在目录下设置环境变量文件修改profile文件,增加后面几句配置好环境变量后#qmake project#qmake#make完成编译6.5源程序在linux下不能编辑问题第三步:重新打开Qt Creator,打开一个文件,选择“Edit”菜单下的“Select Encoding.”,此时弹出的文本编码对话框中就已经出现了“GB2312”。6.6手动添加链接路文件#In s /xxx/xx./xxx.so /xxx/xx./xxx.so 链接 参数 需要链接目标文件名 存放链接文件名七、烧写程序烧写UBL和U-BOOT1. 切换核心板启动模式为UART2模式,上电后双击run.bat注意:a.烧写时应确定烧写的文件与 run.bat批处理文件 在同一目录下b.默认为PC机的COM1,如果与你实际应用不符合,应该用记事本打开进行修改。烧写内核文件1.通过tftp

温馨提示

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

评论

0/150

提交评论