网上看到的大多数是1.3版本的,1.6.10的基于FC系统的几乎没有。写下这篇文章,帮助那些刚接触minigui的同仁们。
阅读全文>
发表于 @ 2008年09月04日 16:24:00|评论(loading...)|收藏
目前处于搭建平台阶段。现已完成homer2410的u-boot移植(nand flash启动),yaffs2文件系统,2.6.24.4内核移植,LCD驱动移植,RTC移植,USB移植,CS8900移植,进度还算顺利。
下个星期进行SD/MMC卡移植,MiniGUI移植。不过,公司项目高温实验也差不多了。估计还要进入软件完善阶段了。也许要分出时间来忙了。
阅读全文>
发表于 @ 2008年08月30日 10:36:00|评论(loading...)|收藏
flash文件系统在嵌入式linux系统中是必须的,无论是作为只读的根文件系统还是作为可写的用户文件系统。目前在linux-2.6.14内核上 移植flash文件系统。下载相应内核,打好at91rm9200的补丁后,却发现先前移植nand文件系统的方法在flash文件系统中完全不行。只好从头开始了。 星光AT91RM9200开发板的flash芯片是SST39VF3201,16 位 ,4M 。按目前计划,准备分区为三个区,分别为uboot(0x40000), kernel(0x1c0000), rootfs(0x200000), 应该可以将linux的最小系统跑起来的。 首先,添加MTD分区的底层驱动文件,在drivers/mtd/maps下添加at91rm9200.c文件,该文件是flash分区的基本驱动文件,包含分区信息、芯片识别等基本flash文件系统的底层实现。事实上,该文件并不需要从头开始创建,可以参考该目录下其它文件来修改,如edb7312.c。代码如下阅读全文>
发表于 @ 2008年05月30日 10:28:00|评论(loading...)|收藏
以前一直使用ADS来作为arm的开发工具,编译调试虽然分为不同的程序,但是总体来说还是挺稳定的,出现错误时提示信息比较有用。 最近因为要用到LPC24系列的ARM7芯片,针对ADS的驱动尚未出现,所以只能使用keil来进行开发。总的来讲,keil给我的感觉简直是糟透了。 首先,keil for arm的版本太多,3.01,3.04 ,3.05一个接一个的版本,让人无所适从。也不知道哪个版本bug较少,也不敢用最新的版本,生怕最新的版本的bug更多。 其次,界面虽然很全。包含的工程和调试信息也很多,但是一个最大的软肋是,如果不小心将窗口移动了,竟然很难将它再移回到原来的位置,导致界面乱七八糟。如果你不小心将一个窗口弄没了,呵呵,只能通过重装来把你的窗口找回来了。 它的编译选项也挺闹心的,完全不及ADS那么清晰明了。其中,关于仿真器的选项处于一个非常隐蔽的按纽之下,仿真器的频率如果调到1Mhz,便极不稳定。 关于keil的书籍,教程也非常少。网上都找不到很全面的介绍keil的阅读全文>
发表于 @ 2007年09月12日 21:37:00|评论(loading...)|收藏
(1)集线器检测新设备
主机集线器监视着每个端口的信号电压,当有新设备接入时便可觉察。(集线器端口的两根信号线的每一根都有15kΩ的下拉电阻,而每一个设备在D+都有一个1.5kΩ的上拉电阻。当用USB线将PC和设备接通后,设备的上拉电阻使信号线的电位升高,因此被主机集线器检测到。)
(2)主机知道了新设备连接后
每个集线器用中断传输来报告在集线器上的事件。当主机知道了这个事件,它给集线器发送一个Get_Status请求来了解更多的消息。返回的消息告诉主机一个设备是什么时候连接的。
(3)集线器重新设置这个新设备
当主机知道有一个新的设备时,主机给集线器发送一个Set_Feature请求,请求集线器来重新设置端口。集线器使得设备的USB数据线处于重启(RESET)状态至少10ms。
(4)集线器在设备和主机之间建立一个信号通路
主机发送一个Get_Status请求来验证设备是否激起重启状态。返回的数据有一位表示设备仍然处于重启状态。当集线器释放了重启状态,设备就处于默认状态了,即设备已经准备好通过Endpoint 0 的默认流程响应控制传输。即设备现在使用默认地址0x0与主阅读全文>
发表于 @ 2007年07月17日 14:16:00|评论(loading...)|收藏
前言 今年1月份到2月份在自己博客上发表了几篇关于AT91RM9200引导程序的文章,分别是 建立交叉编译工具链 TFTP和NFS服务的设置 U-Boot1.1.4在AT91RM9200上的移植时间过的很快,工作也很忙,一晃就过了半年多。再回头看,已经发现很多都落伍了。新版本出了一波又一波。linux已经到了2.6.20。federo也已经到了FC7。如果不对本人以前的文章更新的话,势必会误导初学者。所以针对目前比较新的环境,重新写下整个过程。不过,由于实在挺忙的,所以比第一次写的要简洁许多,大家如果有不明白的地方,可以参考以前的文章。大多数内容都大同小异,只不过一些细节需要注意。由于比较匆忙,没有仔细核对。如果您在文中发现有不当之处敬请批评指正。 这次使用的环境及软件源码版本如下: 软件环境 宿主机:FC6 ,虚拟机vmware 6.0 Linux-2.6.19.2 +at91patch U-Boot 1.2 , busybox1.2.2.1(或者busybox-1.6.1) 硬件环境 母板:AT91RM9200EK CPU:AT91RM9200 ,180MHz(200MIPS) 阅读全文>
发表于 @ 2007年07月10日 15:22:00|评论(loading...)|收藏
Windows下Linux开发环境设置--安装Cygwin及交叉编译工具链阅读全文>
发表于 @ 2007年03月14日 14:31:00|评论(loading...)|收藏