;
; arm汇编编程
摘自:《嵌入式Linux应用开发完全手册》——韦东山
1. S3C2410/S3C2440地地址空间
S3C2410/S3C2440对外引出的27根地址线ADDR0~ADDR26的访问范围只有128MB,那么是如何达到1GB的空间的呢?CPU对外
还引出了8根片选信号nGCS0~nGCS7,对应于BANK0~BANK7,当访问BANKx的地址空间时,nGCSx引脚输出低电平用来选中外接的设
备。这样,每个nGCSx对应128MB的地...
摘自:《嵌入式Linux应用开发完全手册》——韦东山
一、NAND Flash介绍和NAND Flash控制器的使用
NAND Flash在嵌入式系统中的作用,相当于PC上的硬盘
常 见的Flash有NOR Flash和NAND Flash,NOR Flash上进行读取的效率非常高,但是擦除和写操作的效率很低,容量一般比较小;NAND Flash进行擦除和写操作的效率更高,并且容量更大。一般NOR Flash用于存储程序,NAND Flash用于存储数据...
用arm编译C程序,经常出问题 可能开始代码好好的,完全可以编译通过 后来加了一些其它不相关的代码,却提示某个结构没有声明,开始的时候却没提示过………… 还有,错误提示不精确 :-( 还有…… 唉,问题好多呀,这些低级的错误把我放到这儿,我都解决不掉了 现在提示的错误咋改就是改不掉,晕死 不知道有啥技巧没? 谢谢!!!
目前在移植一个打印机驱动,到现在练电机都没发转起来,控制电机的步骤帮我分析下: 原驱动是先my_para.addr_base = (unsigned long)ioremap(ox13000000,1024)映射打印机的 物理地址,然后主要通过设备结构体my_para.current_out这个成员来控制步进电机(char类型 的),其8bit刚好对应上原理图上的IC 8个输出端,从而控制电机运转; 控制的代码: *(unsigned char *)my_para.addr_base = my_para.current_out; 目前新的打印机,...
//myled.c #include #include #include #include #include #include #include #include #include #include #include #define DEVICE_NAME "leds" #define LED_MAJOR 251 static unsigned long led_table [] = { S3C2410_GPB5, S3C2410_GPB6, S3C2410_GPB7, S3C2410_GPB8, }; static unsigned int led_cfg_table [] = { S3C2410_GPB5_OUTP, S3C2410_GPB6_OUTP, S3C2410_GPB7_OUTP, S3C2410_GPB8_OUTP, }; static...
本帖最后由 walterpeng 于 2011-12-21 10:48 编辑 arm Linux系统驱动的A/D转换控制寄存器设置有一段代码为: //检测Enable start位是否为低电平 while (rADCCON & 0x1); //检查ECFLG位是否为高电平,为高电平时表示转换结束 while (!(rADCCON & 0x8000)) //返回转换结果 return ((int) rADCDAT0 & 0x3ff) 请问一下,while (!(rADCCON & 0x8000))中的表达式!(rADCCON & 0x8000)该如何理解? (注:ECFLG位--为1表示A/D转换结束...
在分析armv6中断控制时有如下疑问:[code] arch/arm/kernel/entry-armv.S .macro vector_stub, name, mode, correction=0 .align 5 vector_\name: .if \correction sub lr, lr, #\correction .endif ...... [/code]通过这个宏扩展了IRQ等的处理[code] vector_stub irq, IRQ_MODE, 4 [/code]但是最后一个参数correction是什么用意呢? 既然在进入中断时,CPU已经将pc下一...