各位高手好,小弟移植内核2.6.24到s3c6410上,出现下面的问题,请帮忙分析分析,谢谢各位了。 zxdesh@xlt # bootm 50008000 ## Booting image at 50008000 ... Image Name: xlt Created: 2012-02-16 13:23:50 UTC Image Type: ARM Linux Kernel Image (uncompressed) Data Size: 1841008 Bytes = 1.8 MB Load Address: 50008000 Entry Point: 50008040 Verifying Checksum ... OK XIP Kern...
by 追寻de神话 - 内核源码 - 2012-02-25 16:11:43 阅读(2457) 回复(4)
前些日子,想把ubuntu移植到S3C6410上,这样可以做出廉价的一些产品。不过很遗憾,在网上一般都是把ubuntu在armV7上移植,很少有在arm v6上移植。也许主要是因为ubuntu 资源消耗比较大,不适合在一般的硬件上跑。ubuntu的网站上http://www.ubuntu.com/products/whatisubuntu/arm就有移植到contex A8 A9的系统,分别为Freescale iMx51 和 Marvell 板子。
智器把ubuntu移植到S3C6410上了,http://www.smartdevices.com.cn/ 。但没...
(Linux forum id :hongjiujing)
Porting android on s3c6410
Environment: ubuntu 8.10
Board: XX6410
Kernel version: linux 2.6.24, android 1.0
1.Copy files
Create working location: /mydroid and copy the following files to this location:
Filename
Description
samsung-s3c6410-android.1.0.tar.bz2
Kernel
kandroid-1.1.2.1-20080530.glibc.gz
libiconv-1.12.tar.gz
Toolchain
090227-android-cupcake-rootfs.tar.b...
之五搁置了编译器和链接器打架的问题,接下来就要验证能否顺利启动了,验证能否启动的最好方法,就是在程序开头加上闪灯的死循环,于是迫不及待地把这段代码加到initcpu.s的开头:
reset_start:
ldr r0,=0x7f008820
ldr r1,=0x1111
str r1,[r0]
ldr r0,=0x7f008824
ldr r1,[r0]
bic r2,r1,#3
orr r2,r2,#0xc
bic r3,r1,#0xc
orr r3,r3,#3
nn:
...
之四讲到,简易SDbootloader完成了,也就解决了如何把程序下载到norflash中的问题,现在的首要问题是,程序下载到norflash之后,能不能顺利从norflash中启动。
重要提示:移植的第一步应该是验证编译系统是否正常工作,从参考工程中创建新的工程后,在尽可能少修改的情况下,先编译一下,看是否正常工作。在移植6410时,就在这里吃了大亏,6410工程copy子TQ2440,因为他们用的都是arm指令集,如果我只修改cpu名字,工程中其他东西...
之三讲到,cpu的初始化已经完成,下一步的工作便是初始化uart,使之能够跟PC连接上。
初始化6410的uart,有两个时钟必须区分清楚,即uartclk和baudclk,前者由系统控制寄存器CLK_SRC和CLK_DIV2控制,手册并没有说明这个时钟的用途,我猜测是用于uart模块本身运行的;另一个时钟是baudclk,用来控制baud,产生串行移位时钟的,在uart模块的控制寄存器UCON中设置,然后用UBRDIV和UDIVSLOT0两个寄存器设置baud。uart的工作方式为...
接续上回,开始啃start.s,跟所有的启动文件一样,开始部分是关闭cache、禁止中断等,没什么问题。这里稍稍解释一下为什么要做这些工作,禁止中断大家应该没什么异议,关键是为什么一定要禁止cache,原来,我们不知道程序为什么要重新启动,也不知道重新启动前cpu和cache处于什么状态,cache可能包含错误的信息,cpu可能会从中取得错误的指令,从而不能正常启动系统。eboot的start.s遗漏了一个很重要的过程,就是要重新把cpu设置成...
上篇说道,用16M的SD卡启动可以,但用2G的卡却不行,反复试过,实在不知道怎么回事,也没有IROM中的加载程序的进一步资料,问题也就无从查起了,暂且先放一边,把后续的移植工作做完再说吧。
移植操作系统,跟开发裸奔程序是不一样的,裸奔程序可以从main开始写程序,在执行main之前,编译器产生了大量的代码用于初始化cpu、内存清零、初始化堆和栈、直到建立main的执行环境。而操作系统往往有自己的运行环境要求,C编译器完...
应深圳友坚科技之邀,这几天要把djyos移植到他们的idea6410上。
现在发布的是si版本,是以单片机模式运行的,S3C6410这样强劲的cpu,运行si版本,就作为高速单片机用了,所有地址都是按照物理地址一一对应映射。cpu的状态也没有区分内核态和用户态。
1、中断引擎最初的部分代码在IRQ态(还没决定是否使用FIQ)。
2、中断引擎的大部分以及用户ISR运行在SVC态。
3、所有其他代码运行在SYS态。
移植碰到的第一个问题就是...