ARM
文章平均质量分 67
crazyvoice
探险,分享,户外,摄影,阅读。行万里路,读万卷书。在有限的生命中,创造无限可能。
展开
-
大小端
Origin of Endian 一、引子 在各种计算机体系结构中,对于字节、字等的存储机制有所不同,因而引发了计算机通信领域中一个很重要的问题,即通信双方交流的信息单元(比特、字节、字、双字等等)应该以什么样的顺序进行传送。如果不达成一致的规则,通信双方将无法进行正确的编/译码从而导致通信失败。目前在各种体系的计算机中通常采用的字节存储机制原创 2010-03-06 12:41:00 · 423 阅读 · 0 评论 -
MICRO2440裸跑之按键点亮LED 、按键、蜂鸣器
<br />今天这个程序主要实现了通过mini2440上面的六个按键去控制那个4个LED,并且在按键的过程中蜂鸣器还会发出声音。程序的功能图:<br /><br /> <br /> <br /> <br />在此程序中并没有使用到按键的中断,而是使用了一个死循环去实现的。并且这个程序保护两个部分,一个是汇编程序编写的引导部分,因为这是一个裸机的程序,即没有操作系统的程序,因此想要在板子上运行C程序必须进行相应的初始化的工作,这个就是汇编程序的功能。汇编代码如下:<br />IMPORT Main<br />原创 2010-10-15 22:45:00 · 1009 阅读 · 0 评论 -
MICRO2440裸跑之GPIO
PART1: GPIO(General Purpose I/O ports)即通用输入/输出口。我们在实际应用中,不管是接LCD、接键盘,控制流水灯等等应用,都离不开对I/O的操作。可以说,GPIO的操作是所有硬件操作的基础。 S3C2440共有130个I/0端口,共分九组,分别为:GPA、GPB、...、GPJ。我们可以通过寄存器来操作这些IO。S3C2440共有三种寄存器,分别为GPxCON、GPxDAT、GPxUP。GPxCON用于选择引脚功能;GPxDAT用于读/写引脚数据;GPxUp用于确定是原创 2010-10-14 21:58:00 · 908 阅读 · 0 评论 -
MICRO2440落跑之MDK3.4下调试流水灯
MDK3.4下调试MICRO2440流水灯之前一直在学LINUX方面的东西,感觉写驱动方面还需要先练习裸机程序,只有这样才能对硬件有更深刻的了解。所以我选择重新开始裸跑MICRO2440,先熟悉一下这块板子的硬件结构。有了这个想法以后我就在网上搜集一些资料,最后决定买了一个Jlink V8,开始了裸机的学习。事情并不是很顺利,从9月18日拿到JLINK V8到今天9月25日我才看到了第一个跑马灯的现象。白天我的时间很紧,没有时间来学ARM只有晚上才有一点空余时间。在这段时间我遇到了很多问题,都是通过QQ群上原创 2010-10-14 20:21:00 · 1057 阅读 · 0 评论 -
ads1.2 license ADS1.2注册码
<br />ads1.2 license ads1.2 安装许可证<br /><br />1.建立文本文档,拷贝下面红颜色部分内容到文本文档里面<br />2.保存,命名为 license.dat,拷贝到安装目录下的文件夹里(如果原来有该文件,选择替换掉)<br />3.安装时遇到需要许可证时,单击"浏览"按着向导导入 license.dat文件即可<br />#**************<br />PACKAGE ads armlmd 1.200 E32F0DE5161D COMPONENTS="a原创 2010-09-09 09:50:00 · 1596 阅读 · 0 评论 -
ARM汇编之一
<br />ARM寄存器:<br />ARM 共有37个寄存器,分为:<br />l 31个通用寄存器。包括程序计数器PC在内。这些寄存器都是32位的。<br />l 6个状态寄存器。这些寄存器都是32位寄存器,但目前只使用了其中的12位。<br /> <br /> <br />ARM有七种不同的处理器模式。在每一种处理模式中都有一组对应的寄存器组。任意时刻可见的寄存器组包括15个通用寄存器R0~R14,一个或者两个状态寄存器及程序计数器PC。<br /> <br />通用寄原创 2010-09-02 16:52:00 · 2227 阅读 · 2 评论 -
学习笔记(2)
chmod 777 ./ -r改变当前目录所有的文件读写格式指令有两条SWP 字数绝交换SWP RO,RO,[R1];该指令完成将R1所指向的存储器中的字数据与RO中的字数据交换内核模块在动态加载时候内核模块才会被调用通过module_init 宏来指定相当于C程序运行时先到MAIN();如模块加载函数 module_init(hello_init);在模块加载时候,会调用hello_i原创 2010-04-02 23:43:00 · 389 阅读 · 0 评论 -
学习笔记(3)
dev_t devno = MKDEV(mem_major, 0)dev_t 是设备这种类型MEDEV是宏构造主次设备号静态分配 if(mem_major)为大于0如果mem_major==0则动态分配15静态分配:使用register_chrdev_region函数动态分配:由内核去找设备号使用alloc_chrdev_region分配设备号缺点:无法再安装驱动前创建设备文件原创 2010-04-04 17:23:00 · 634 阅读 · 0 评论 -
汇编指令学习笔记(1)
R14 LR R15 PC mov r1,ro ; 把寄存器RO的值赋给R1 mov r1,[r0];把ro中的值做为地址 把这个地址中存的数赋给R1& 16进制 % 二进制加载/存储指令 ARM处理器支持加载/存储指令用于寄存器和存储器(内存中的数据、内存单元)之间传送数据加载指令用于将存储器中的数据传送到寄存器,存储指令则完成相反的操作。 存储器=内存STMfd r13!,原创 2010-03-30 12:45:00 · 551 阅读 · 0 评论 -
ARM中常用的一些代表指令的符号
ARM中常用的一些代表指令的符号特殊符号 对应指令 含义 = DCB 分配一片连续的字节存储单元并用指定的数据初始化& DCD 分配一片连续的字存储单元并用指定的数据初始化% SPACE 分配一片连续的存储单元^ MAP 定义一个结构化内存表的首地址# FILED 定义一个结构化内存表的数据域(经常和MAP一使 用,一个定义起始地址,一个定义长度) * EQU 为程序中的常量、标号等定义一原创 2010-03-06 14:45:00 · 723 阅读 · 0 评论 -
Micro2440装Linux系统
Micro2440装Linux系统分为三步:1、安装bootloader。2、装linux的内核,即Kernel。3、装文件系统。 装系统期间出现如下问题:1、笔记本超级终端不显示bois相关信息:因为是笔记本电脑,所以使用usb转RS232与开发板对接。笔记本与开发板使用超级终端通信。解决办法:USB转RS232连接笔记本与电脑后,配置超级终端相关信息(串口号原创 2013-09-01 00:39:27 · 1144 阅读 · 0 评论