![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
嵌入式ARM-Linux
文章平均质量分 70
隔夜月
这个作者很懒,什么都没留下…
展开
-
DNW FOR WIN7
刚开始学嵌入式,开发板买的飞凌的6410,顺便抱怨一句,飞凌的资料真的不怎么样,很简略,对板子讲解很少,对于像我这种没什么基础的小白来说入门蛮费劲的。折腾了好几天才学会用USB烧写uboot,kernel,cramfs。在这个过程中就遇到很多的问题,特别是DNW这个软件,所以写这个帖子给遇到同样问题的朋友一定帮助。我的电脑是win7系统,资料里送的DNW软件根本用不了,跟win7不兼容,在原创 2012-12-25 23:43:30 · 8122 阅读 · 12 评论 -
指针与函数传参的思考
先看代码,这个代码很简单,看你能不能准确地说出答案。#include struct A { int a; }; struct A g_ta = { .a = 1, }; struct A g_tb = { .a = 2, }; void fun1(struct A * p1)原创 2013-09-05 23:06:08 · 1659 阅读 · 0 评论 -
insmod不匹配问题的解决
第一次写练习写模块,使用insmod安装模块时,发现内核版本不匹配,你可以baidu或者google下,有很多解决方案,但是我这种不匹配错误有点不太一样,不管我在开发板上uname -r查看运行linux内核版本,还是用modinfo来查看编译模块版本都是显示的3.0.8,很奇怪内核版本一样的的怎么还会报错呢。/mnt/work # uname -r原创 2013-08-15 09:55:55 · 4402 阅读 · 0 评论 -
使用uboot + minicom串口协议下载镜像文件
今天忘记待USB线了,也不想回去拿,就想能不能借助uboot和minicom串口下载呢?启动uboot,help查看下命令,发现几个load命令,查看了命令的介绍和用法,发现uboot支持ymoden协议。 你只需要 支持串口协议的UBOOT(一般UBOOT起来都是已经有了相关串口传输协议),串口线,PC上有minicom,我的PC直接装的是UBUNTU系统,PC上虚拟机跑的U原创 2013-08-01 09:55:26 · 5837 阅读 · 0 评论 -
Ubuntu下安装使用JLink以及解决自动更新固件
现在我的系统环境换到Linux下了,所以需要在Linux安装JLink进行调试。在这个安装过程中遇到不少问题,最主要的就是在Linux使用比较新的JLink驱动,会自动更新固件,导致JLink挂了。 首先怎么安装我就贴别人的链接了: http://blog.163.com/nesnil@126/blog/static/38081298201212084340862/ 写得原创 2013-07-10 14:39:43 · 4247 阅读 · 1 评论 -
Nand Flash详解
1. 硬件特性:【Flash的硬件实现机制】Flash全名叫做Flash Memory,属于非易失性存储设备(Non-volatile Memory Device),与此相对应的是易失性存储设备(Volatile Memory Device)。这类设备,除了Flash,还有其他比较常见的如硬盘,ROM等,与此相对的,易失性就是断电了,数据就丢失了,比如大家常用的内存转载 2013-04-21 22:56:17 · 1311 阅读 · 0 评论 -
s3c6410 uboot代码分析
以下用以记录uboot代码的分析过程,目标是s3c6410,如有错误,欢迎指正。强调,内容与三星原厂提供的uboot-1.1.6有更改的地方,因为外接外设的区别,特别是nand_flash、外接网卡芯片和LCD芯片。以下纯代码情景分析,请结合uboot的功能结构图和内存分布图查看代码,这样会更加容易理解。s3c-u-boot-1.1.6源代码可以在三星下面的网站获得,但前提是你有官方的em转载 2013-02-22 18:05:01 · 1232 阅读 · 0 评论 -
uboot命令解释与运行分析
这一回来分析一下uboot中命令行的解释, 所以我们直接从main_loop开始分析.1. 从汇编阶段进入c阶段的第一个函数是start_xxx,如/lib_unicore/board.c中的start_unicoreboot.前半部分调用了若干初始化函数来进行部分硬件的初始化, 并设置一下环境. 这里不是我们本回要讨论的所以一一跳过.在start_xxx的最后调用了main_loop(),转载 2013-02-21 16:42:09 · 810 阅读 · 0 评论 -
Uboot Stage1详解
大多数bootloader都分为stage1和stage2两部分,u-boot也不例外。依赖于CPU体系结构的代码(如设备初始化代码等)通常都放在stage1且可以用汇编语言来实现,而stage2则通常用C语言来实现,这样可以实现复杂的功能,而且有更好的可读性和移植性。1、Stage1 start.S代码结构u-boot的stage1代码通常放在start.S文件中,他用汇编语言写成,其主转载 2013-02-20 15:16:17 · 2756 阅读 · 0 评论 -
ARM与SDRAM芯片的联接
通常ARM芯片内置的内存很少,要运行Linux,需要扩展内存。ARM9扩展内存使用SDRAM内存,ARM11使用 DDR SDRAM。以ARM9核心的S3C2440为例,介绍一下内存的扩展。 S3C2440通常外接32位64MBytes的SDRAM,采用两片16位256Mbits的SDRAM芯片(如HY57V561620),SDRAM芯片通过地址总线、数据总线、若干控制线与S3C24转载 2013-02-17 14:35:59 · 1158 阅读 · 0 评论 -
NOR flash和NAND flash区别,RAM 和ROM区别
ROM和RAM指的都是半导体存储器,ROM是Read Only Memory的缩写,RAM是Random Access Memory的缩写。ROM在系统停止供电的时候仍然可以保持数据,而RAM通常都是在掉电之后就丢失数据,典型的RAM就是计算机的内存。RAM有两大类,一种称为静态RAM(Static RAM/SRAM),SRAM速度非常快,是目前读写最快的存储设备了,但是它也非常昂贵,所以只在转载 2013-02-16 10:33:08 · 954 阅读 · 0 评论 -
S3C6410 NAND启动流程
S3C6410和2440的NAND启动流程大体一样,也有一些区别。这篇文章主要目的是梳理下S3C6410 NAND启动流程,也给这几天的学习来个总结。 S3C6410主存的地址范围为 0x0000_0000~0x6FFF_FFFF。主存部分分成四个区域:引导镜像区,内部存储去,静态存储区和动态存储区。 引导镜像区的地址范围是从0x0000_0000~0x07FFF原创 2013-01-30 23:40:45 · 3734 阅读 · 4 评论 -
程序四大段
今天写出了这样一行代码:static PT_PageList ptStatic = ptBookDesc->ptPageList;编译器报错:initializer element is not constant.导致这个错误是因为我对程序的分段没弄清楚,写过汇编以及连接脚本的就会知道,一个程序分为最基本的 .text,.data,.rdata,.bss 四个段(可以添加自定义段)。原创 2013-09-05 17:10:10 · 2783 阅读 · 0 评论