
ok6410裸机程序
mcudoc
这个作者很懒,什么都没留下…
展开
-
OK6410开发板启动模式介绍
平台:ARM11 三星S3C6410开发板:飞凌OK6410-A开发板目前的ARM处理器都支持多种启动模式,S3C6410和以前的Samsung的ARM处理器一样,通过外部管脚OM[4:0]的拉高拉低来决定是从哪个存储设备上启动。我认为S3C6410的User Manual并没有说的很清楚,所以我在最开始使用的时候,也对其启动模式有一些误解,下面就我个人的理解,介绍一下S3C6410原创 2012-07-11 11:39:46 · 2294 阅读 · 0 评论 -
指令和数据混合存储与分开存储的比较
冯. 诺依曼结构指令和数据是不加区别混合存储的、共享数据总线,因而取指令和取操作数是不可以同时进行的(PC机存储方式)。哈佛结构指令和数据是完全分开的,存储器分为固定大小的两个部分,分别用来存放指令和数据。这样取指令和取操作数可以同时进行。(单片机常用存储方式)。冯. 诺依曼结构中,数据和程序存储器是共享数据总线的。数据总线共享有许多优点,它可以减少总线的开销,这样控制逻辑也相对简单。原创 2014-03-21 14:00:19 · 3993 阅读 · 0 评论 -
嵌入式bootloader技术内幕
1. 引言在专用的嵌入式板子运行 GNU/Linux 系统已经变得越来越流行。一个嵌入式 Linux 系统从软件的角度看通常可以分为四个层次:1. 引导加载程序。包括固化在固件(firmware)中的 boot 代码(可选),和 Boot Loader 两大部分。2. Linux 内核。特定于嵌入式板子的定制内核以及内核的启动参数。 3. 文件系统。包括根文件系统和建立于 Flas转载 2013-04-10 12:38:31 · 771 阅读 · 0 评论 -
DDR容量计算
SDRAM Calculation of capacity Calculate the number of addressable locations (don’t think of bit/byte/word for now)Number of address lines: 11 (A0-A10)Number of banks : 2 (BA0-BA1)Max number转载 2013-04-09 17:53:27 · 4554 阅读 · 0 评论 -
S3C6410学习——Nand flash陷阱
S3C6410学习——Nand flash陷阱 当系统以Nand方式启动时,硬件将Nand Flash的前8KB拷贝到Steppingstone,然后从0地址开始运行程序,在这8KB以内代码中,我们需要完成必要的硬件初始化,如果代码超过8K,我们还需要将剩余代码的搬移到链接地址处,一般在SDRAM/DDR中。其中,硬件部分需要初始化系统时钟、DDR和NAND Flash三部分。这就是S3C转载 2013-04-09 15:48:23 · 748 阅读 · 0 评论 -
OK6410裸机程序(二)——系统时钟
OK6410裸机程序(二)——系统时钟一、时钟源的选择 时钟源的选择 时钟源的选择 时钟源的选择内部时钟会产生用于外部的时钟源,其说明如表 3-1 所示。当外部复位信号被声明时,OM[4:0]引脚决定了 S3C6410的操作模式。OM[0]引脚选择外部时钟源,例如,如果OM[0]是 0,则 XXTIpll(外部晶体)被选择。否则,XEXTCLK(外部时钟输入)被选择。在OK64原创 2013-03-20 16:49:07 · 1651 阅读 · 1 评论 -
OK6410裸机程序(三)——外部中断
OK6410裸机程序(三)——外部中断 s3c6410具有187个多功能I/O端口,其实有127个可以被配置成外部中断。这127个引脚,可分成10个组。每个中断引脚,都有相对应的中断号,如(GPN0 = Ext.Interrupt[0]). 这里给大家分一下: EINT0 GPN0--->GPN15 GPL8--->GPL1原创 2013-03-24 14:17:08 · 1214 阅读 · 0 评论 -
OK6410裸机程序(四)——DDR初始化
DDR初始化 一、DDR的容量 我们在DDR芯片资料上的开头都会标明DDR的容量:如我们的手上的OK6410A的DDR(K4X1G163PC),它的芯片资料上写的是32M x16 Mobile-DDR SDRAM。但是厂家跟说ok6410a有128M的容量。看到这里不禁就个疑问了。芯片上明明写是32M为什么,FL说是128M呢。在这里就能给你答案,板子上有两片DDR。那它的容量原创 2013-04-04 13:32:37 · 2766 阅读 · 2 评论 -
OK6410裸机程序(一)——GPIO(LED)
本人入手OK6410-A开发板,已经有一段时间。因为去年工作忙一直没时间来折腾这个东东。现在工作也有点空闲时间,又想开始折腾一下了。 我给自己定的最终目标是:linux驱动开发。有点经验的人都知道,驱动开发对硬件知识的掌握也很重要,所以本人确定就先从裸板程序开始学习。我将借用这个平台来记录我学习的过程中的问题和经验。好了话不多说,现在就开始第一课。 O原创 2013-03-18 17:12:56 · 1507 阅读 · 1 评论 -
ARM映像文件
ARM映像文件ARM中的各种源文件(包括汇编文件,C语言程序及C++程序等)经过ARM编译器编译后生成ELF(Executable and linking format)格式的目标文件。这些目标文件和相应的C/C++运行时用到的库经过ARM连接器处理后,生成ELF格式的映像文件(image),这种ELF格式的映像文件是一种可执行文件,可被写入嵌入式设备的ROM 中。bin文件是真正的可转载 2013-03-18 11:17:25 · 1123 阅读 · 0 评论 -
arm-linux-交叉编译工具
arm-linux-交叉编译工具 源文件需要经过编译才能生成可执行文件。在windows下进行开发时,只需要单击几个按钮即可完成编译,集成开发环境已经将各种编译工具的使用封装好了。Linux下也有优秀的集成开发工具,但是更多的时候直接使用编译工具;即使使用集成开发工具,也要掌握一些编译选项。 PC上的编译工具链为gcc、ld、o原创 2013-03-18 11:16:19 · 1256 阅读 · 0 评论 -
程序的三段的解释
程序的三段的解释一个程序主要包括下面三个段:代码段,数据段,BSS段 代码段:指令代码(局部变量也放在代码段)。数据段:有初始值(并且不为0)的全局变量或静态变量。BSS段:初始化为0或无初始值的全局或静态变量。 在我们编译出来的二进制文件中,是不存在BSS段的。在我们程序运行时,会自动清除BSS段。这样可能节省内存空间。程序在访问全局变量时,用到的是链接地址。程序原创 2013-03-29 11:43:38 · 983 阅读 · 0 评论 -
OK6410 烧写裸机程序到 nand flash
将上述3个文件放在Linux上面编译生成led.bin,然后将led.bin拷贝到windows目录下。我们假设你的OK6410什么程序都没有(开机没有任何反应)。我们将三个线连接到开发板上面:1,开发板电源线2,USB转串口线:一端连接电脑USB口,一端连接开发板。3,USB device线:一端连接电脑USB口,一端连接开发板。(就是开发板上面的小USB转载 2013-03-06 21:21:09 · 1873 阅读 · 0 评论 -
OK6410裸机调试(使用串口,不需要使用JLINK)
OK6410裸机调试(使用串口,不需要使用JLINK)例一: 使用的是飞凌公司的OK6410开发板,个人感觉不算太好。做工方面不怎么精致,且使用不长时间CPU芯片就会感觉到很烫。当时选他的原因主要是因为便宜,并且很多资料都是开源的。由于OK6410是ARM11的板子,JTAG调试已经不支持(这是个人感觉不一定准确,因为当时调了好久也没解决),而买一块厂家原装的JLink V8就要150转载 2013-03-06 10:36:37 · 1342 阅读 · 0 评论 -
状态机系统在嵌入式软件中的地位
一、有限状态机系统在嵌入式软件中是个什么地位? 嵌入式系统软件的分类: 1、按处理器位数分类(嵌入式系统分为4位、8位、16位、32位和64位) 2、按产品应用类型分类(信息家电类;移动终端类;网络通信类;汽车电子类,工业控制类等) 3、按系统实时性来分类(根据实时性的强弱,嵌入式系统分为硬实时、软实时系统:硬实时:系统对系统响应时间有严格的要求,如果系统响应时间不能满转载 2014-03-25 11:36:08 · 3278 阅读 · 0 评论