ChinaUnix.net
相关文章推荐:

s3c6410移植日志

之三讲到,cpu的初始化已经完成,下一步的工作便是初始化uart,使之能够跟PC连接上。 初始化6410的uart,有两个时钟必须区分清楚,即uartclk和baudclk,前者由系统控制寄存器CLK_SRC和CLK_DIV2控制,手册并没有说明这个时钟的用途,我猜测是用于uart模块本身运行的;另一个时钟是baudclk,用来控制baud,产生串行移位时钟的,在uart模块的控制寄存器UCON中设置,然后用UBRDIV和UDIVSLOT0两个寄存器设置baud。uart的工作方式为...

by djyos - 都江堰操作系统 - 2009-07-20 17:16:52 阅读(3046) 回复(0)

相关讨论

接续上回,开始啃start.s,跟所有的启动文件一样,开始部分是关闭cache、禁止中断等,没什么问题。这里稍稍解释一下为什么要做这些工作,禁止中断大家应该没什么异议,关键是为什么一定要禁止cache,原来,我们不知道程序为什么要重新启动,也不知道重新启动前cpu和cache处于什么状态,cache可能包含错误的信息,cpu可能会从中取得错误的指令,从而不能正常启动系统。eboot的start.s遗漏了一个很重要的过程,就是要重新把cpu设置成...

by djyos - 都江堰操作系统 - 2009-07-20 17:16:23 阅读(3156) 回复(0)

上篇说道,用16M的SD卡启动可以,但用2G的卡却不行,反复试过,实在不知道怎么回事,也没有IROM中的加载程序的进一步资料,问题也就无从查起了,暂且先放一边,把后续的移植工作做完再说吧。 移植操作系统,跟开发裸奔程序是不一样的,裸奔程序可以从main开始写程序,在执行main之前,编译器产生了大量的代码用于初始化cpu、内存清零、初始化堆和栈、直到建立main的执行环境。而操作系统往往有自己的运行环境要求,C编译器完...

by djyos - 都江堰操作系统 - 2009-07-20 17:15:29 阅读(2796) 回复(0)

应深圳友坚科技之邀,这几天要把djyos移植到他们的idea6410上。 现在发布的是si版本,是以单片机模式运行的,S3C6410这样强劲的cpu,运行si版本,就作为高速单片机用了,所有地址都是按照物理地址一一对应映射。cpu的状态也没有区分内核态和用户态。 1、中断引擎最初的部分代码在IRQ态(还没决定是否使用FIQ)。 2、中断引擎的大部分以及用户ISR运行在SVC态。 3、所有其他代码运行在SYS态。 移植碰到的第一个问题就是...

by djyos - 都江堰操作系统 - 2009-07-20 17:08:58 阅读(3040) 回复(0)