主题 : u-boot for mini210/tiny210 (2013.01.03更新) 复制链接 | 浏览器收藏 | 打印
*無鈳取玳
级别: 论坛版主
UID: 27
精华: 12
发帖: 5398
金钱: 40120 两
威望: 17929 点
贡献值: 71 点
综合积分: 11036 分
注册时间: 2008-01-16
最后登录: 2014-11-22
楼主  发表于: 2011-11-02 23:22

 u-boot for mini210/tiny210 (2013.01.03更新)

管理提醒: 本帖被 xoom 执行加亮操作(2011-11-03)
=== 2013/01/03 更新 ===
1.  合并u-boot v2013.01-rc2到mini210_linaro-2012.11-stable分支;
2. 支持通过USB DFU更新u-boot和kernel镜像(<8MB)(详细步骤看下面的帖子)
3. 解决无法正常启动内核镜像的问题

=== 2012/12/09 更新 ===
基于linaro-2012.11的代码(mini210_linaro-2012.11-stable分支)已经上传到gitorious server上。 目前实现并验证的功能有:
1. SD boot,基于linaro u-boot的SPL功能实现
2. 从SD卡的FAT分区上加载文件到SDRAM
3. 将环境变量保存至SD卡
4. tftp下载文件

已知问题
1. 用"fatls"列出SD卡上FAT分区目录内容时,出现重复的文件名;
2. 通过"nand read"读取NAND Flash数据时出现"NAND read from offset XXXXXXX failed -74"错误
3. 该版本的u-boot目前还不能正常启动内核,建议继续使用旧的2011.10分支代码。

编译和使用步骤见下面的帖子。
=== 2012/12/02 更新 ===
1. 修正S5PV210 timer问题。 该问题会导致一系列不正确的网络应用,比如tftp, ping的超时;
2. Mini210/Tiny210: 上跳过DM9000网卡的power down,从而节省每一次网络应用时初始化网卡的时间;
3. Mini210: 更改MACH_TYPE_MINI210为3466, 与友善之臂提供的内核源代码保持一致;
4. Mini210: 更改开发板默认的IP地址为192.168.0.2; TFTP server地址为192.168.0.1。

=== 2012/03/04 更新 ===
1. 加入了tiny210的支持,感谢本论坛的liukunmcu用户的贡献(http://www.aiothome.net/read.php?tid-17714.html);
2. mini210/tiny210的DM9000A网卡支持。

=== 2011/12/03 更新 ===
基于linaro-2011.10的代码已经上传到了gitorious server上。目前实现并验证的功能有:

1. SD boot,基于linaro u-boot的SPL功能实现
2. 从SD卡的FAT分区上加载文件到SDRAM
3. 将环境变量保存至SD卡(会出现mmc write fail (Data CRC fail), 但实际数据保存是成功的,还需要进一步debug)

编译和使用步骤见下面的帖子。

=== 2011/11/02 更新 ===
我已经将u-boot 1.3.4 for mini210的源代码上传到了gitorious server上。目前实现并验证了以下功能:

1. 支持SD卡和NAND Flash启动
2. 支持NAND Flash读写
3. 支持通过USB + DNW下载
4. 支持从SD卡的FAT分区上加载文件到SDRAM
[ 此帖被kasim在2013-01-03 16:11重新编辑 ]
"If you have an apple and I have an apple and we exchange apples, then you and I will
still each have one apple. But if you have an idea and I have an idea and we exchange
these ideas, then each of us will have two ideas."
我思故我在
级别: 侠客
UID: 11698
精华: 0
发帖: 61
金钱: 310 两
威望: 62 点
贡献值: 0 点
综合积分: 122 分
注册时间: 2009-12-18
最后登录: 2016-04-09
1楼  发表于: 2012-02-10 22:34
引用楼主kasim于2011-11-02 23:22发表的 u-boot for mini210 :
=== 2011/12/03 更新 ===
基于linaro-2011.10的代码已经上传到了gitorious server上。目前实现并验证的功能有:

1. SD boot,基于linaro u-boot的SPL功能实现
2. 从SD卡的FAT分区上加载文件到SDRAM
.......


您这个不知可否在tiny210上使用
试了一下好像启动不了,
不知哪里不对
就打印出OK就停止了
我思故我在
级别: 侠客
UID: 11698
精华: 0
发帖: 61
金钱: 310 两
威望: 62 点
贡献值: 0 点
综合积分: 122 分
注册时间: 2009-12-18
最后登录: 2016-04-09
2楼  发表于: 2012-02-14 11:56
自己解决了,内存设置为单通道就可以了

并且跑起了xserver+gtk,运行quake2很流畅






我思故我在
级别: 侠客
UID: 11698
精华: 0
发帖: 61
金钱: 310 两
威望: 62 点
贡献值: 0 点
综合积分: 122 分
注册时间: 2009-12-18
最后登录: 2016-04-09
3楼  发表于: 2012-02-15 09:36
昨天测试发现移植的u-boot还有一些问题,所以稍后把弄好的会发给你

3d用的不是硬件opengl是软件的opengl

没有找到sgx540的xorg驱动,

用的是建立在fbdev上面的软件opengl库
我思故我在
级别: 侠客
UID: 11698
精华: 0
发帖: 61
金钱: 310 两
威望: 62 点
贡献值: 0 点
综合积分: 122 分
注册时间: 2009-12-18
最后登录: 2016-04-09
4楼  发表于: 2012-02-15 10:53
这是以前的记录,

可以供参考,

可能有错误,

请见谅

1)
下载并安装scratchbox
连接:h t t p://www.scratchbox.org/
以上网的文档里有教程也有相关下载
安装好scratchbox建立帐户并设定好新的target

2)
接下来的操作都在scratchbox中
下载以依赖下库(不都是必须,可根据需要裁减),解压到一个目录中
按照以下顺序编译:

cd zlib-1.2.5
make distclean
./configure --shared --prefix=/usr
make
make install
cd ..

cd glib-2.26.0
make distclean
./configure --prefix=/usr
make
make install
cd ..

cd libpng-1.2.44
make distclean
./configure --prefix=/usr
make
make install
cd ..

cd jpeg-7
make distclean
./configure --enable-shared --enable-static --prefix=/usr
make
make install
cd ..

cd tiff-3.9.4
make distclean
./configure --prefix=/usr
make
make install
cd ..

cd expat-2.0.0
make distclean
./configure --prefix=/usr
make
make install
cd ..

cd freetype-2.4.4
make distclean
./configure --prefix=/usr
make
make install
cd ..

cd atk-1.32.0
make distclean
./configure --prefix=/usr
make
make install
cd ..

cd libxml2-2.7.8
make distclean
./configure --prefix=/usr
make
make install
cd ..

cd fontconfig-2.8.0
make distclean
./configure --prefix=/usr
make
make install
cd ..

cd pixman-0.21.2
make distclean
./configure --disable-arm-neon --prefix=/usr

make
make install
cd ..


cd sqlite-3.7.4
make distclean
./configure --prefix=/usr
make
make install
cd ..

cd tslib-1.0
make distclean
./configure --prefix=/usr
make
make install
cd ..

cd links-1.00
make distclean
./configure --prefix=/usr
make
make install
cd ..

cd openssl-1.0.0c
make distclean
./Configure --prefix=/usr --openssldir=/usr/openssl linux-armv4
make
make install
cd ..

cd Python-2.7
make distclean
./configure --prefix=/usr
make
make install
cd ..

执行 ldconfig

3)编译X11与相关依赖库
h t t p://www.x.org/releases/X11R7.6/src/
在以上网之中把除了everything目录外其他目录中的都下下来(不是都必要,但全下下来省心)并保持原目录结构不变,解压缩,这里假设相关目录督保存在X11R76这个目录下

执行:export PYTHON=/usr/bin/python2.7


1)进入util目录

进入util-macros-1.11.0目录make distclean./configure --prefix=/usrmakemake install
2)进入font目录

进入font-util-1.2.0目录

make distclean

./configure --prefix=/usr

make

make install3)进入proto目录

分别进入以下目录,执行以下命令

make distclean

./configure --prefix=/usr

make

make install

目录列表(省略版本号)

bigreqsproto
compositeproto
damageproto
dmxproto
dri2proto
fixesproto
fontsproto
glproto
inputproto
kbproto
randrproto
recordproto
renderproto
resourceproto
scrnsaverproto
videoproto
x11proto
xcmiscproto
xextproto
xf86bigfontproto
xf86dgaproto
xf86driproto
xf86vidmodeproto
xineramaproto

xcb(在xcb目录中)4)进入lib目录

分别进入以下目录,执行以下命令

make distclean

./configure --prefix=/usr

make

make install

目录列表(省略版本号)

libxtrans
libXau
libXdmcp

pthread-stubs(在xcb目录中)

libxcb(在xcb目录中)

util(在xcb目录中)
libX11
libXext
libdmx
libfontenc
libFS
libICE
libSM
libXt
libXmu
libXpm
libXaw
libXfixes
libXcomposite
libXrender
libXdamage
libXcursor
libXfont
libXft
libXi
libXinerama
libxkbfile
libXrandr
libXRes
libXScrnSaver
libXtst
libXv
libXvMC
libXxf86dga
libXxf86vm
libpciaccess5)进入data目录

进入xbitmaps-1.1.1目录

make distclean

./configure --prefix=/usr

make

make install6)进入app目录

分别进入以下目录,执行以下命令

make distclean

./configure --prefix=/usr

make

make install
目录列表(省略版本号)

bdftopcf
iceauth
luit
mkfontdir
mkfontscale
sessreg
setxkbmap
x11perf
xauth
xbacklight
xcmsdb
xcursorgen
xdpyinfo
xev
xhost
xinit
xinput
xkbcomp
xkbevd
xkbutils
xkill
xlsatoms
xmodmap
xprop
xrandr
xrdb
xrefresh
xset
xsetroot
xvinfo
xwd
xwininfo

xwud7)进入xserver目录

进入xorg-server-1.9.3目录

make distclean

./configure --disable-glx --enable-dri=no --enable-dri2=no --prefix=/usr

make

make install8)进入driver目录

分别进入以下目录,执行以下命令

make distclean

./configure --prefix=/usr

make

make install
目录列表(省略版本号)

xf86-input-evdev
xf86-input-keyboard
xf86-input-mouse
xf86-input-void
xf86-input-tslib

xf86-video-fbdev至此xorg server 编译完毕

4)编译gtk与相关依赖库
接下来的操作都在scratchbox中
下载以依赖下库(不都是必须,可根据需要裁减),解压到一个目录中
按照以下顺序编译:

ldconfig

cd cairo-1.10.0
make distclean
./configure --prefix=/usr
make
make install
cd ..

cd pango-1.28.3
make distclean
./configure --prefix=/usr
make
make install
cd ..

cd gtk+-2.20.1
make distclean
./configure --prefix=/usr
make
make install
cd ..

cd libiconv-1.13.1
make distclean
./configure --prefix=/usr
make
make install
cd ..

cd gtk-engines-2.20.1
make distclean
./configure --prefix=/usr
make
make install
cd ..

cd libmatchbox-1.9
make distclean
./configure --prefix=/usr
make
make install
cd ..

cd matchbox-window-manager-1.2
make distclean
./configure --prefix=/usr
make
make install
cd ..

ldconfig

至此gtk+编译完成


以上编译选项可在armv5,armv6下运行

另外如果是编译armv4架构的要在所有的编译选项处加上-march=armv4t

另外如果是编译armv7架构的要在所有的编译选项处加上-mthumb -march=armv7-a

之后可以烧写到开发板上,或是nfs启动,运行gtk-demo就可以看到了

如下图:



  
[ 此帖被jnny_cn在2012-02-15 11:06重新编辑 ]