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)某 ...
随机推荐
- chroot
用途:更改命令的根目录. 语法:chroot Directory Command 描述: 注意:如果新根目录中的特殊文件具有与实际根目录不同的主要和次要设备号,则可能会覆盖文件系统. 只有具有 roo ...
- html5介绍 之亮点特性
html5 兴起- 乔帮助在2010年发布的:关于对flash的思考,提到有了h5放弃 flash 1 富图形,富媒体 2 本地存储 cookie 3 LBS 基于 ...
- Spring包的方法WebUtils.getParametersStartingWith(request,String)
举个例子,比如页面上有 <input type="text" name="p_name" value="aileen"> < ...
- POJ 1182 食物链(并查集拆点)
[题目链接] http://poj.org/problem?id=1182 [题目大意] 草原上有三种物种,分别为A,B,C A吃B,B吃C,C吃A. 1 x y表示x和y是同类,2 x y表示x吃y ...
- c语言结构体排序示例
设计性实验编程实现对学生成绩表的相关信息排序.实验要求:⑴ 建立一个由n个学生的考试成绩表,每条信息由学号.姓名和分数组成.⑵ 按学号排序,并输出排序结果.⑶ 按分数排序,分数相同的则按学号有序,并输 ...
- poj3062---输入什么输出什么
#include <stdio.h> #include <stdlib.h> int main() { ]; while(gets(str) != NULL) { printf ...
- Android UI ActionBar功能-自动隐藏 Action Bar
为了使ActionBar不影响Activity的布局内容,我们还可以设置ActionBar,将其设置为透明,并且让Activity是头部自动空出一个ActionBar的空间: 官方文档:http:// ...
- WinForm 窗体与窗体相互嵌套
只要将要被潜逃的的窗体的TopLeve设置为Flase即可像普通的控件一样,被添加到另外一个窗体中,TopLeve:是否为顶级窗口,下面来看代码: public partial class TTFor ...
- 使用ionic与cordova(phonegap)进行轻量级app开发前的环境配置与打包安卓apk过程记录
前言 有人说:"如果你恨一个人,就让ta去接触cordova(phonegap)",这是因为这里面的水很深,坑很多,真让人不是一般地发狂.或许有幸运的人儿基本顺顺利利就配置完环境 ...
- Excel中公式的绝对引用和相对引用单元格
在Excel的表格中,非常常用的就是公式里的绝对引用和相对引用了,具体情况请看下列表格吧. 步骤1 打开做好的excel表格.公式中的相对单元格引用是基于包含公式和单元格引用的单元格的相对位置,若公式 ...