![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
[ arm-linux裸版编程 ]
过去不再从来
反应有点慢
展开
-
c语言中的数据类型(小结3)
C语言中的数据类型分类:a)基本Int CharShortLongb)结合 * [ ]c)自定义: Enum Struct Union原创 2013-11-07 18:14:21 · 552 阅读 · 0 评论 -
key_printf(小结8-5)
概要:我们用一种论循的方式,检查按键按下的时候,我们就打印:hello my_key下面是按健的三个寄存器:Register Address R/W DescriptionGPNCON 0x7F008830 R/W Port N Configuration RegisterGPNDAT 0x7F008834 R/W原创 2013-11-12 21:53:13 · 645 阅读 · 0 评论 -
led驱动(小结8-3)
四展灯都点亮: 1 .section .text 2 .global main 3 main: 4 mov ip,sp 5 stmfd sp!,{fd,ip,lr} 6 sub fp,ip,#4 7 //GPMCON =0x1111 8 9 ldr r0,=0x7f008原创 2013-11-12 13:27:59 · 642 阅读 · 0 评论 -
led_key_printf(小例8-6)
最开始,开灯;检查到按键,就打印一句话。 1 //led 2 #define GPMCON (*(volatile unsigned long *)0x7F008820) 3 #define GPMDAT (*(volatile unsigned long *)0x7F008824) 4 //key 5 #define GPNCON (*(volatile u原创 2013-11-12 22:06:10 · 731 阅读 · 0 评论 -
buzzer(小结8-4)
1 #buzzer 2 .section .text 3 .global main 4 main: 5 mov ip,sp 6 stmdb sp!,{fp,ip,lr} 7 sub fp,ip,#4 8 9 ldr r0,=0x7F0080A0 10 #ldr r1原创 2013-11-12 18:27:37 · 1215 阅读 · 0 评论 -
led驱动(小结8-2)
1 #高端,点亮LED 2 .section .text 3 .global main 4 main: 5 mov ip,sp 6 stmdb sp!,{fp,ip,lr} 7 sub fp,ip,#4 8 9 10 11 #*0x7F008820 &=~0xf先将低四位清0, 12原创 2013-11-12 13:04:35 · 704 阅读 · 0 评论 -
arm中断(小结10)
中断:分三部分 step 1 :set arm cpsrmrs r0,cpsrbic r0,r0,#0x80取0x80的非,清楚第七位 step 2:set vic vectored iterrupt contstep 3:irq soure ------------------------cpsr第七位---------------------原创 2013-11-12 10:45:22 · 799 阅读 · 0 评论 -
外部中断(小结12)
外部中断:在soc外面,按键datashet:359页------------------------cpsr第七位------------------------状态 VICxIRQSTATUS VICxIRQSTATUS /***内部中断控制管理器***/选择 VICxINTSELECT使能 VICxINTENABLE记录 VICxRAWINTR原创 2013-11-12 11:18:59 · 768 阅读 · 0 评论 -
arm的中断及模式(小结9)
arm的中断及模式:1.中断:模式msrmrs上面两条只与cpsr,读cpsr中的低5位来知道到当前的模式mrsr0,cpsr 将cpsr存到r0msr cpsr,r02.从一个模式进入另一个模式:将当前模式的cpsr保存到我们要进入的模式的spsr将当前模式的pc保存到我们要进入的模式的lr当我们从另一个模式回到之前的那一个模式时:mov原创 2013-11-12 10:41:07 · 709 阅读 · 0 评论 -
led驱动(小结8)
今天学习驱动:led,key,buzzer终见驱动:1.点亮LED:ctrl +f==>在linux中的pdf中的一个搜索功能。多功能引脚:gpio: input :表示检测output:表示控制LED1:GPLPUD上拉电阻 Register Address R/W Description原创 2013-11-09 21:26:01 · 690 阅读 · 0 评论 -
arm过程调用规范(小结7)
有关arm11汇编:1.apcs:arm process call standard2.arm寄存器的通用寄存器:(两套对应的名字,可以通用)r0 ~r3 r4~r9 r10 r11 r12 r13 r14 r15 a1~a4 v1~v6 sl fp lp sp lr pc -->c语言原创 2013-11-09 21:07:34 · 922 阅读 · 0 评论 -
led驱动(例子:8)
我的第一个驱动:led1.先查看我的实物,开发板上面的led的名字,并下记(叫led1)(我的s3c6410开发板,这里的原理图分为底板与核心板;led实物在我们的底板上面,而arm的soc在核心板上面;我们要控制led,就要知道我们led实物与arm是怎么相连的)2.再在我们的底板原理图上,按ctrl+f搜索上面记下的名字(led1得到NLED1)3.然后在梳心板原理图上原创 2013-11-10 00:16:46 · 776 阅读 · 0 评论 -
面向对象程序设计(维基百科)
面向对象程序设计(英语:Object-oriented programming,缩写:OOP),指一种程序设计范型,同时也是一种程序开发的方法。对象指的是类的集合。它将对象作为程序的基本单元,将程序和数据封装其中,以提高软件的重用性、灵活性和扩展性。[1]面向对象程序设计可以看作一种在程序中包含各种独立而又互相调用的对象的思想,这与传统的思想刚好相反:传统的程序设计主张将程序看作一系列函数转载 2013-11-08 10:27:40 · 1917 阅读 · 0 评论 -
小结(6)
s3c6410环境搭建:1.烧写SD卡2.从SD卡启动3.将u-boot-nand.bin tftp到内存,然后写入nand4.从nand flash 启动5.配制tftp /etc/xinetd.d/tftp service xinetd restart6.通过tftp将uImage下入到内存7.bootm +地址,从u-boot跳到内存中uImage处执原创 2013-11-08 23:00:36 · 566 阅读 · 0 评论 -
一个makefiel(小结5)
makefile:当前目录的文件:list.c list.h test.cCC = gccOBJ = test.o link.o test: $(OBJ)$(CC) $^ -o $@ //下面都是注释 #test.o: test.c # $(CC) $ #link.o: link.c # $(CC) li原创 2013-11-08 22:55:41 · 590 阅读 · 0 评论 -
typedef(小结4)
1.需求分析->概要设计->详细设计->编码->测试2.工作两三年,头文件与库,再后来依赖,再后来安全.(老刘语)3.#include系统指定头文件目录#include ""由用户自己指定4.*****************************************返回类型为函数指针,的函数int (*p(int ,char *))(int)原创 2013-11-08 10:18:05 · 595 阅读 · 0 评论 -
程序中的内存(小结1)
从今天开始花点时间,小结一下,这一段时间,跟老刘学习的课程:总结比学习新的东西更重要:内存:1.vi test.c .gcc -c test.c -o test.o :(编译)1生成符号(函数如main和全局变量)2翻译成汇编,检查语法错误 .gcc test.o -o test:(链接)1,找到所原创 2013-11-07 17:53:08 · 588 阅读 · 0 评论 -
回调函数与函数指针(小结2)
回调函数通常与函数指针一同出现;为了我们要实现一种机制(而不是策略),通过这样一个种回调的形式,给我们来搭一个架构;具体的实现,我们交给一个函数指针所指向的函数。通过这样的一种机制,我们可以隐藏,我们的具体实现。.函数指针***********.回调函数***********void hell();void call(void (*fp)());//声明一个回调函数原创 2013-11-07 18:09:06 · 609 阅读 · 0 评论 -
模式(小例9-2)
今天在这里:先打印这cpsr;通过一条未定义指令,进入异常处里,打印cpsr,又回到之前的那个模式;然后再打印cpsrtest.c=>vector.s=>test.c==>结束test.c如下:int (*printf)(char *,...) = (void *)0x57e11d4c;//将一个函数指针指向0x57e11d4原创 2013-11-12 23:34:19 · 1016 阅读 · 0 评论