![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
嵌入式开发
文章平均质量分 54
windsun0800
这个作者很懒,什么都没留下…
展开
-
友善SD卡烧写工具(SD-Flasher)替代解决方案
最近入手了一块mini210s的开发板,自带android,但是我想用纯linux啊.按说明书用友善给的SD-Flasher.exe烧Superboot210.bin,没一次成功!我SD卡有问题???后来看了liukun321的博客发现其实可以通过linux的dd命令来烧写友善的Superboot210.bin。果然成功前提: 1、SD卡 2、linux系统转载 2012-11-24 21:03:37 · 6423 阅读 · 0 评论 -
DIY自己的arm11(6410)的bootloader
现我们仿照着uboot对ARM11所做的初始化操作,编写裸机bootloader。1.首先编写makefile代码 all: start.o arm-linux-ld -Tgboot.lds -o gboot.elf $^ arm-linux-objcopy -O binary gboot.elf gboot.bin %.o转载 2013-11-29 00:08:32 · 2725 阅读 · 0 评论 -
UBOOT 6410分析篇
U-Boot是用于多种嵌入式CPU( MIPS、x86、ARM等)的bootloader程序,U-Boot不仅支持嵌入式Linux系统的引导,还支持VxWorks, QNX等多种嵌入式操作系统。查看S3C6410_Internal_ROM_Booting.pdf可看到系统启动的原理图如下:linux的Uboot分析对于.lds文件,它定义了整个程序编译之后的连接转载 2013-11-28 23:32:56 · 1819 阅读 · 0 评论 -
TINY210 UBOOT(一)启动过程
一直想写TINY210V2开发板的开发资料,一方面是能力不足怕写出来的会有问题,一方面人也很懒。瞧这位大神写的真不错。我也就不客气转了过来,给自己BLOG加点人气。哈Tiny210 U-BOOT(一)--启动过程讲解启动过程,首先的源头就是打开电源,这个相信没人人不知道。CPU上电后,此时SP指针指向0x0000_0000,从这个地址取第一条指令。但此时:PLL没有启动,CPU工作转载 2013-12-07 01:45:46 · 3258 阅读 · 0 评论 -
Tiny210 U-BOOT(二)--配置时钟频率基本原理
CPU时钟、NAND FLASH、DDR、串口、网卡至少这些硬件,是我们需要在u-boo的启动过程中完成初始化的,其余的细节问题先不说了。必竟前面的这些硬件,是u-boot在启动过程,做自搬移和最终引导内核前必须要用到的。为了理解u-boot源码中那些硬件操作汇编代码,我们先看看这些硬件的工作原理是如何的。CPU的系统时钟U-BOOT在启动的过程中,需要配置系统时钟,没有这东西,CPU转载 2013-12-07 16:51:54 · 4656 阅读 · 0 评论 -
RealView MDK和RVDS的区别
RealView MDK和RVDS的区别MDK只支持基于ARM7、ARM9、Cortex-M1和Cortex-M3的微控制器,但RVDS还支持用户定义的MCU;MDK不支持所有的ARM处理器,包括ARM10、ARM11、Cortex-M1、Cortex-M3、Cortex-R4、Cortex-A8和Cortex-A9,但RVDS全支持;MDK基于uVision IDE开发环境,而RVD转载 2013-12-11 13:17:59 · 1064 阅读 · 0 评论 -
UBOOT 学习心得(UBOOT流程分析)
网上找到的UBOOT研究文章,结合自己这几天看的。目前是明白了UBOOT主干程序流程了。开始分析细节部分了。下面是别人写的UBOOT分析。参考了fzb和赵春江两位大牛的,研究了2010.06版本的和2011.06版本两个经典版本,也对比了TQ(我买的板是天嵌的)自己写的U-BOOT,学到了不少,也发现了很多东西,以下便记录以下自己的心得吧,以便以后可以自己参考下。U-BOOT的两个转载 2013-12-14 01:25:34 · 6228 阅读 · 0 评论 -
NAND FLASH中ECC的原理与错误
向NAND Flash写数据时,每256或512字节会生成一个校验码写在每个page的OOB区,当从NAND Flash读数据时,每读取256或512字节数据,也会生成一个ECC校验码,拿这个校验码与存放在OOB区的校验吗对比看看是否一致,就可以知道读取的数据是否正确.一般来说,kernel与cramfs是通过U-BOOT烧写到NAND Flash中,这个过程是向NAND Flash写数据转载 2013-12-17 11:31:21 · 5711 阅读 · 0 评论 -
继续TINY210V2中UBoot增加图片显示功能
其实LCD已经在CONSOLE下使用了,增加图片显示只是加一个命令CONFIG_CMD_BMP这个宏可以开启bmp命令。bmp命令有info和display,一个是显示图片信息,一个是显示图片到具体位置。由于我使用的FAT16的表 不知道如何把UBOOT放到FAT16表不认为错误的地方,只能使用土办法了。1.先用自己改的IROM工具把UBOOT刷新到SD卡上,开发板开机进入到字符提示界原创 2013-12-23 23:52:09 · 1917 阅读 · 0 评论 -
LCD参数设置
LCD分为TN型和STN型,分别用于电子表和液晶显示器。技术参数包括:可视面积 可视角度 点距色彩度 对比度 亮度值 响应时间图像从上到下,从左到右显示。每一幅图都可以看做是由像素点组成的一个矩阵。时序图中用到的同步信号如下:VSYNC :垂直方向同步信号。表示一屏图像开始传输。HSYNC :行方向同步信号。表示一行图像开始传输。VCLK :时钟信号。原创 2013-08-01 16:05:41 · 1252 阅读 · 0 评论 -
关于全局量的.data存放地址的说明
使用裸机开发时,会用到全局量.在使用ld时,发现全局量起始地址与当前的代码段起始地址+代码段自身的长度+ 0x8000. 使用命令:arm-none-linux-gnueabi-ld -Ttext 0xD0020010 start.o buzzer.o main.o led.o clock.o int.o timer.o -o e.elf得到全局量起始地址为0xd0028d84原创 2013-01-01 19:39:29 · 1119 阅读 · 0 评论 -
TINY210V2 祼机开发始篇
1.GPIO的学习2.中断的学习3.定时器的学习. 一步一步来吧.先测试一下BL0 加载BL1前一段是24K代码 还是4K代码.使用显示LED灯的方式.原创 2012-11-25 17:11:47 · 1380 阅读 · 0 评论 -
s3c6410 IROM启动代码分析
S3c6410 IROM启动代码分析:1) 跳转到steppingstone由于新做的板子要用SD卡启动的方式测试板子硬件功能是否正常,所以我很想知道程序是如何由irom跳转到我写的测试代码的:jump_to_stepingldr0: 0x451c: e51ff004 ldr pc, [pc, #-4] ;转载 2012-11-24 23:28:39 · 1394 阅读 · 0 评论 -
ARM裸机程序研究 - 编译和链接
1. Linux下的二进制可执行文件如果世界很简单,那么二进制可执行文件也应该很简单,只包括CPU要执行的指令就可以了。可惜,世界并不简单……。Linux下的二进制可执行文件(以下简称可执行文件),也并不是只包括了指令,还包括了很多其他的信息,比如,执行需要的数据,重定位信息,调试信息,动态链接信息,等等。 所有这些信息都按照一个预定的格式组织在一个可执行文件里面。Linux下叫ELF可执转载 2012-12-01 23:46:43 · 1123 阅读 · 0 评论 -
tiny210v2 开发进展
经过这些天的学习,明白了s5pv210的启动过程. 修改了一个刷SD卡工具.这样就可以在XP下写SD卡了. 对于串口通信一直没有成功.找了资料才明白是要设置波特率的.太菜了啊! 真机调试都是设置好了,直接用就可以了, 上层开发搞太久了. 底层都忘光了啊!思路已经有了. 准备写代码.太晚了 明天再试.先写到这里. PS:串口通信(LOG 输出),这样才方便调试. 算是自己定义的原创 2012-11-29 00:39:18 · 1210 阅读 · 0 评论 -
配置开发板 开发环境Ubuntu 11.10
买了板开发板FriendlyARM s5pv210 开始学习嵌入式首先配置开发环境. 以前安装了虚拟机是用来搞QT开发的,由于工作项目+自己懒 (哈哈) 没有继续下去.结果只是安装了.没有使用.现在正好拿来用了测试了一下uname -ar 发现自己安装的是32位的Ubuntu 11.10 开始配置编译环境:从开发板送的光盘里找到arm-llinux-gcc编译器,安装到此系统中.原创 2012-11-21 22:30:29 · 933 阅读 · 0 评论 -
6410硬件启动流程,注意最后一句话,irom启动方式有SD卡启动
主要讲一下硬件启动的流程以及DDR是在什么时候初始化的。S3C6410支持Nand/Nor/OneNAND/Modem/iROM(内部ROM)几种启动方式,OneNand用的比较少,就不说了。这里比较新的就是iROM启动,当OM[1:4]全部设置为1时就为iRom启动方式(OM[0]脚用于对时钟源的选择控制),此时当板子上电后,会首先执行iRom中的代码,iRom中的代码会根据GPN[转载 2012-11-24 23:11:42 · 1333 阅读 · 0 评论 -
Samsung的ARM处理器iROM启动模式介绍
这篇文章写的不错 让我明白Samsung ARM芯片启动流程了先前不太明白这三个Boot到底有什么用,于是从网上找到了下面一篇文件,是以 S3C6410为例作的介绍。 目前的ARM处理器都支持多种启动模式,S3C6410和以前的 Samsung的ARM处理器一样,通过外部管脚OM[4:0]的拉高拉低来决定是从哪个存储设备上启动。我认为S3C6410的User M转载 2012-11-24 23:48:20 · 1013 阅读 · 0 评论 -
关于ARM汇编中使用宏定义的处理
在ARM汇编中使用了#define 宏定义 arm-linux-as会报 Error: internal_relocation (type: OFFSET_IMM) not fixed up 错误.可以先把.s文件改成.c 使用arm-linux-gcc -E 文件名 > 得到的处理好的宏定义的汇编文件. 再进行编译原创 2012-12-13 23:47:53 · 3652 阅读 · 0 评论