S3C6410嵌入式应用平台构建(三)
构建了好久的系统,由于工作原因,没有及时写记录,目前我已经进展到构建yaffs2文件系统,启动Linux内核了。Uboot移植基本功能已经完成。
由于Uboot移植方法大致是一样的,我主要参考这位博友的博客来移植的,很是有代表性,确实能完成一些基本功能。
参考网址如下:http://blog.chinaunix.net/uid-28382924-id-3489648.html
由于步骤基本一样,我就不再重复他的内容,只说点需要重点关心的。
1. 对于nandflash代码复制问题
这个问题也是我和我同学之前有疑问的问题,我们ok6410上的nandflash页大小为4K, 而在进行重定位复制代码时候,先复制的是以2K页大小,复制4次,即8K,这个卡了我们很久,后来去阅读arm datasheet才发现,这是S3C6410的nandflash控制器所决定的。
2. 环境变量获取问题
这个问题,同样也是很棘手,因为从网上大多数找到的答案大多是,什么nandflash有坏块导致。可我去nand scrub,问题同样存在,幸亏我看到上面的博客,终于知道原因,原来我们在启动的时候,在复制u-boot代码到ram时,需要同时将环境变量也一并复制过去,至于复制的地址这就需要你自己在6410头文件中定义了。
3. 引导内核启动地址,需要和Linux内核入口地址匹配。
在移植uboot就注意这些吧,这样,基本的功能都有了,下面是我的Uboot启动界面。
[05/03-11:18:26:352]
[05/03-11:18:26:352]
[05/03-11:18:26:353]U-Boot 2010.03-svn3 (May 01 2014 - 19:26:53) for SMDK6410
[05/03-11:18:26:353]
[05/03-11:18:26:353]*******************************************************
[05/03-11:18:26:363] Welcome to Embedded System
[05/03-11:18:26:364] Base On S3C6410 Devolopment
[05/03-11:18:26:364] Date: 2014/4/15 22:00 PM
[05/03-11:18:26:375]*******************************************************
[05/03-11:18:26:375]
[05/03-11:18:26:376]CPU: S3C6410@533MHz
[05/03-11:18:26:376] Fclk = 533MHz, Hclk = 133MHz, Pclk = 66MHz (ASYNC Mode)
[05/03-11:18:26:376]Board: SMDK6410
[05/03-11:18:26:380]DRAM: 256 MB
[05/03-11:18:26:424]Flash: 0 kB
[05/03-11:18:26:424]NAND Flash: 2048 MB
[05/03-11:18:27:545]********************************************************
[05/03-11:18:27:545]Initial LCD controller
[05/03-11:18:27:559] clk_freq:9 MHz, div_freq:13 ,rea_freq:9 MHz
[05/03-11:18:27:559]
[05/03-11:18:27:560] HBP = 2 HFP = 2 HSW = 41,Hpixs:480
[05/03-11:18:27:560] VBP = 2 VFP = 2 VSW = 10,Vpixs:272
[05/03-11:18:27:577]FrameBuff:57e7a000
[05/03-11:18:27:579] LCD initialization Finished.
[05/03-11:18:27:580]********************************************************
[05/03-11:18:27:602]In: serial
[05/03-11:18:27:602]
[05/03-11:18:27:602]Out: lcd
[05/03-11:18:27:602]
[05/03-11:18:27:602]Err: lcd
[05/03-11:18:27:603]
[05/03-11:18:27:953]Net: DM9000
[05/03-11:18:28:971]Hit any key to stop autoboot: 0
S3C6410嵌入式应用平台构建(三)的更多相关文章
- S3C6410嵌入式应用平台构建(一)
[2014-4/8~4/10]目前我们已经积累一定的嵌入式相关知识,对嵌入式的架构及开发过程有了大体了解,唯一缺的就是实践,通过自己的分析搭建自己的嵌入式系统.下面,我将从此处开始记录我和我同学一起分 ...
- S3C6410嵌入式应用平台构建(六)——linux-3.14.4移植到OK6410-(Yaffs2文件制作)
本文主要讲怎用利用yaffs2工具和busybox制作yaffs2文件系统镜像.大多数都是参照网上的,目的在于记录学习,不做任何用途. 一.制作mkyaffs2image工具 进入yaffs2源码目录 ...
- S3C6410嵌入式应用平台构建(五)——linux-3.14.4移植到OK6410-(Nand分区问题)
前一篇文章,我们的Linux能后启动了,只是在识别nand时候,没有获取到时钟源,导致后面的分区没哟进行. 我们从启动的log发现: [06/08-11:25:41:371]s3c24xx-nand ...
- S3C6410嵌入式应用平台构建(四)——linux-3.14.4移植到OK6410-(初步启动)
这次,还是把基本的基于我目前最新的Linux源码进行移植到OK6410吧,同时也写下我移植过程中遇到的问题及解决方法,不过有些方法是借鉴网上的,有些是自己加的,会有一些小bug. 一.基本工作 1. ...
- S3C6410嵌入式应用平台构建(二)
[2014-4/11~4/14]经过之前的实验,对Uboot已经有了大体的了解,前我们已经把led灯给点亮,但这不是我们的根本目的,我们是要进入boot启动,经过两天的分析代码和反复的实验,终于可以进 ...
- 【Microsoft Azure 的1024种玩法】三.基于Azure云平台构建Discuz论坛
[简介] Discuz!是一套通用社区论坛软件系统,用户在不需要任何编程的基础上,通过简单的设置和安装,在互联网上搭建起具备完善功能.很强负载能力和可高度定制的论坛服务. [前期文章] [操作步骤] ...
- Unity跨平台C/CPP动态库编译---可靠UDP网络库kcp基于CMake的各平台构建实践
1.为什么需要动态库 a)提供原生代码(native code)的支持,也叫原生插件,但是我实践的是c/cpp跨平台动态库,这里不具体涉及安卓平台java库和ios平台的objectc库构建. b)某 ...
- SharpGL学习笔记(一) 平台构建与Opengl的hello World
(一)平台构建与Opengl的hello World OpenGL就是3d绘图的API,微软针和它竞争推出D3D,也就是玩游戏时最常见的DirectorX组件中的3d功能. 所以不要指望windows ...
- Unity3D跨平台动态库编译---记kcp基于CMake的各平台构建实践
一 为什么需要动态库 1)提供原生代码(native code)的支持,也叫原生插件,但是我实践的是c/cpp跨平台动态库,这里不具体涉及安卓平台java库和ios平台的objectc库构建. 2)某 ...
随机推荐
- C语言中内存分配 (转)
在任何程序设计环境及语言中,内存管理都十分重要.在目前的计算机系统或嵌入式系统中,内存资源仍然是有限的.因此在程序设计中,有效地管理内存资源是程序员首先考虑的问题. 第1节主要介绍内存管理基本概念,重 ...
- 如何修改Struts2 FiledError样式
有时候,使用Struts2的<s:fielderror />标签还是比较好的.但是这个标签本来的样式实在很难看,不但换行,而且有个大大的黑点.一看就知道用了<ui><li ...
- EMV标准
EMV标准是由国际三大银行卡组织--Europay(欧陆卡,已被万事达收购).MasterCard(万事达卡)和Visa(维萨)共同发起制定的银行卡从磁条卡向智能IC卡转移的技术标准,是基于IC卡的金 ...
- Mozilla推荐的CSS书写顺序
//显示属性displaylist-stylepositionfloatclear //自身属性widthheightmarginpaddingborderbackground //文本属性color ...
- iterm快捷键及操作技巧(附Linux快捷键)
标签操作 新建标签:command + t 关闭标签:command + w 切换标签:command + 数字 command + 左右方向键 切换全屏:command + enter 查找:com ...
- Centos6.5升级gcc for qt5.3.1
1.升级GCC CentOS6.5内置的GCC版本为4.4,而Qt5.2.1则需要4.8.2的支持(支持C++ 11特性),因此,必须先升级GCC wget http://ftp.tsukuba.wi ...
- 将Dictionary序列化为json数据 、json数据反序列化为Dictionary
需要引用System.Web.Extensions dll类库 /// <summary> /// 将json数据反序列化为Dictionary /// </summary> ...
- Body joints angle using Kinect
http://stackoverflow.com/questions/12608734/body-joints-angle-using-kinect-checking-time-interval?rq ...
- node.js(八) 有趣的东西才开始哦
### Express介绍 npm提供了大量的第三方模块,其中不乏许多Web框架,比如我们本章节要讲述的一个轻量级的Web框架 ——— Express. Express是一个简洁.灵活的node.js ...
- 监控concurrent 正在执行的sql
SELECT a.sid, a.serial#, b.sql_text FROM v$session a, v$sqltext b WHERE a.sql_address = b.address ...