s3c2440_soc.h

S3C2440所有芯片配置寄存器,学习此方法。{CSDN:CODE:2593958}...
阅读(23) 评论(0)

理解ARM中断原理以及中断嵌套

学习于韦东山 ARM有七种模式,我们这里值讨论SVC、IRQ和FIQ模式 usr(用户模式)、fiq(快速中断模式)、irq(中断模式)、svc(管理模式)、abt(数据访问终止模式)、sys(系统模式)、und(未定义指令中止模式) ① 我们假设ARM核心有两根中断引脚(实际上是看不见的),一根叫irq pin,一根叫fiq pin。在ARM的cpsr中,有一个I位和一个F位,分别用来禁止IR...
阅读(82) 评论(0)

外设位宽为8、16、32时,CPU与外设之间地址线的连接方法

flash连接CPU时,根据不同的数据宽度,比如16位的NOR FLASH (A0-A19),处理器的地址线要(A1-A20)左移偏1位。为什么要偏1位?从软件和CPU的角度而言,一个地址对应一个字节,就是8位数据。这是肯定的,不要怀疑这点。 对于具体器件而言,它的位宽是一定的,所谓位宽,指的是“读/写操作时,最小的数据单元”──别说最小单元是“位”,一般设备上没有单独的“位操作”,修改位时通过把整...
阅读(2907) 评论(13)

判断机器大小端模式

简单介绍一下大小端模式:         像内核开发,网络开发,以及嵌入式开发都要涉及以位为单位来操作,所以都要考虑大小端问题。 大端模式:数据的高位,存放在地址的低位。 小端模式:数据的高位,存放在地址的高位。 介绍三种判断本机大小端模式的程序:① 通过位移操作#include #include #define panduan(x) (x>>1)?...
阅读(104) 评论(0)

安装交叉编译工具链

关于ARM交叉编译工具链的介绍与下载请点我跳转一、简介:     简单介绍一下:交叉编译器一般来说是针对某个特定版本的uboot和kernel来专门制作的,也就是说,如果一个开发板的uboot和内核版本确定了,那么对应的编译器版本也就确定了。       ① 因为随着时间的推移,C/C++语言的标准每隔一段时间就更新扩展一次,导致的结果是修改uboot和kernel的那帮工作人员在使用新标准的语言...
阅读(118) 评论(0)

[置顶] 嵌入式Linux开发常用命令总结

1.打开pc服务:win+r-> services.msc 2.将命令输入到文件以后:echo "ifconfig eth0 192.168.2.3" >> /etc/init.d/rcS 3.虚拟机挂载到开发板根文件系统:mount -t nfs -o nolock 192.168.2.3:/work/nfs_root/test /mnt 4.putty的复制粘贴鼠标左键-复制 鼠...
阅读(134) 评论(0)

将Ubuntu 16.14的用户界面语言从英语切换到汉语

①进入System Settings②点击其中的 Language Support,弹出如下窗口,在语言列表中向下滚动,找到“汉语(中国)”,用鼠标将其拖到列表的顶端,释放鼠标,然后点击 Apply System-wide,输入密码。最后点击 Close 按钮关闭对话框,重启电脑。③重启后在登录界面,语言已经变成汉语了。键入密码登录,弹出如下提示对话框,点击“更新名称”。语言切换工作结束。...
阅读(82) 评论(0)

【实战】ping

环境介绍笔记本连接学校wifi,开发板通过有限插入笔记本。 如果不是这种情况的,请点我进入电脑 开发板 虚拟机三者互ping通教程。 达到效果:开发板、linux、pc互ping通且pc能上网。但是这种情况虚拟机不能上网,要想上网后面会介绍。 环境 IP 网关 192.168.2.1 PC 192.168.2.2 虚拟机 192.168.2.3 开发板-uboo...
阅读(310) 评论(0)

【实战】电脑 开发板 虚拟机三者互ping通教程

韦东山百问网公司出品 电脑 开发板 虚拟机三者互通教程(推荐) 大家的学习环境大概分为以下四种: 1、电脑使用无线上网,但是无法将开发板链接到电脑所连接的AP,比如校园 wifi、公司wifi。 2、电脑使用无线上网,无线是自己的路由器发射的(我认为这也需要用网线与路由器相连),因此可以将开发板使用网线连接到路由器上。 3、电脑使用有线上网,网线是连接到自...
阅读(413) 评论(0)

【补充】常用Makefile格式分析

Makefile格式分析如下: Makefile三大组成:目标、依赖、命令 一、led.bin: led.o #(目标文件的生成依赖于命令行对依赖文件的处理。要将所有能生成的.o文件都写到依赖里面。) #.bin为目标文件(启动文件),可直接烧录到芯片中运行 #.o为依赖文件,其生成源于.s(汇编文件)或.c(C文件),%表示名字,编译时名字要一致。 arm-linux-ld -Tt...
阅读(206) 评论(0)

【补充】关于ARM的PC指针异常返回处理(PC+8,PC+4,PC-4,PC-8情况)

要理解PC指针,首先就要好好了解LR指针 连接寄存器LR(r14):用来保存和恢复PC寄存器的内容,它有两个特殊功能。     (1)保存子程序返回地址。使用BL或BLX时,跳转指令自动把返回地址放入r14中;子程序通过把r14复制到PC来实现返回,通常用下列指令之一:                         MOV PC, LR  正常跳转: 如果是使用BL执行了正常程序的跳转,那么执行这条BL指令时,由于是正常的跳转指令,所以cpu会将下一句的物理地址存放在LR中,那么将8地址存放在LR中...
阅读(5609) 评论(0)

【补充】NAND FLASH大页和小页的区别

NAND FLASH有两类:大页的NAND和小页的NAND。每种NAND的一页中都有数据段(datafield)和附加段(Spare Field),datafield用于存放数据用的,Spare Field读写操作的时候存放校验码用的,大页的NAND中数据段2048B、附加段64B;小页的NAND中数据段512B、附加段16B。小页的NAND是:One page = 512B(datafield)...
阅读(5496) 评论(0)

【补充】 关于*(mmu_tlb_base + (virtuladdr >> 20))的理解

对于MVA到PA转换过程,以及描述符所扮演的角色,请看下图: 来看代码:unsigned long virtuladdr, physicaladdr; unsigned long *mmu_tlb_base = (unsigned long *)0x30000000;//对应上图TTB virtuladdr = 0xA0000000;//对应上图MVA physicaladdr = 0x56000...
阅读(5512) 评论(0)

【补充】ARM MMU页表框架

学习于此 先上一张arm mmu的页表结构的通用框图(以下的论述都由该图来逐渐展开): 以上是arm的页表框图的典型结构:即是二级页表结构: 其中第一级页表(L1)是由虚拟地址的高12bit(bits[31:20])组成,所以第一级页表有4096个item,每个item占4个字节,所以一级页表的大小为16KB,而在第一级页表中的每个entry的最低2bit可以用来...
阅读(169) 评论(0)

【补充】arm堆栈-(堆栈起始地址的选择)

学习于此堆栈寄存器起始地址的设置:程序刚启动并没有启动内存管理单元MMU,真正的内存地址如下S3C2440的储存空间映射图: ARM 使用统一编址,所以,我们得把堆栈指针设置到内存地址范围内; NAND FLASH 启动时: 堆栈寄存器可以设为片内RAM 的最大地址:0x1000(4K)-4096 或者64MSDRAM的最大地址0x34000000(64M SDRAM的地址空间映射到BANK...
阅读(139) 评论(0)
39条 共3页1 2 3 下一页 尾页
    个人资料
    • 访问:252402次
    • 积分:6549
    • 等级:
    • 排名:第3838名
    • 原创:305篇
    • 转载:13篇
    • 译文:89篇
    • 评论:83条
    【目录索引】

    闲适音乐

    博客专栏

    Email: 457086306@qq.com