上一页 1 2 3 4 5 6 7 8 ··· 13 下一页

BootLoader —— S3C2440

摘要: 原文作者:phosphor,出自:http://bbs.armeasy.com 先来看看扬创的bootloader的实现方法: 首先:在汇编中初始化堆栈,中断向量表,MMU,时钟,串口等,然后跳到C语言的Main函数。这部分代码小于4K,放在block0。这个Main函数用来将第二段代码拷备到DRAM中并执行。 其次:进入第二段代码。第二段代码也是先在汇编中初始化堆栈,中断向量表等,然后跳到C语言的Main函数。这部分代码就不用有4K限制了,具体大小由第一段代码决定,因为它本身由第一段代码来搬运。这个Main函数用来显示开机图片以及进度条。然后视串口接收信息运行带有USB下载NK的Eboot或 阅读全文
posted @ 2012-05-01 16:08 hicjiajia 阅读(1653) 评论(1) 推荐(1) 编辑

ARM中断(三)

摘要: 原文:http://www.cnblogs.com/processakai/archive/2011/05/01/2033963.html;==;=========================================; NAME: 2440INIT.S; DESC: C start up codes; Configure memory, ISR ,stacks; Initialize C-variables; 完全注释;=========================================; NAME: 2440INIT.S; DESC: C start up code 阅读全文
posted @ 2012-05-01 13:00 hicjiajia 阅读(3979) 评论(0) 推荐(0) 编辑

ARM中断(一)

摘要: 本文感谢 ce123 朋友 S3C2440一共有60个中断源,其中有15个子中断源,它们与SUBSRCPND寄存器中的每一位相对应,其他45个中断源与SRCPND中的每一位相对应。要注意的是EINT4~7对应的是同一位SRCPND[4],而EINT8~23对应的也是SRCPND[5]一位。1 S3C2440的中断寄存器 中断分两大类:外部中断和内部中断。1.1 外部中断寄存器 24个外部中断占用GPF0-GPF7(EINT0-EINT7),GPG0-GPG15(EINT8-EINT23)。用这些脚做中断输入,则必须配置引脚为中断,并且不要上拉。具体可参考datesheet数... 阅读全文
posted @ 2012-05-01 12:59 hicjiajia 阅读(7386) 评论(2) 推荐(2) 编辑

ARM中断(二)

摘要: 本文感谢郑星 朋友2440支持IRQ(普通中断)和FIQ(快速中断)。2440有60个中断源,不支持中断嵌套。CPU每执行一条指令都会检查CPSR寄存器,当发现I或F位被置1时,就进行中断处理。需要两次查表过程(为什么要查两次表??没有办法,ARM把所有的中断都归纳成一个IRQ中断异常和一个FIQ中断异常;第一次查表主要是查出是什么异常,可我们总要知道是这个中断异常中的什么中断呀!没办法还需要查第二次)。第一步跳入异常向量表:地址异常名称指令0x00复位异常B RestHandler0x04未定义指令异常B HandlerUndef0x08软件中断异常B HandlerSWI0x0C指令预取异 阅读全文
posted @ 2012-05-01 12:59 hicjiajia 阅读(2505) 评论(0) 推荐(0) 编辑

volatile关键字

摘要: ARM来啦!今天接触了点ARM体系结构,相比51却是复杂的多,小意思啦...... 对于不同的计算机体系结构,设备可能是端口映射,也可能是内存映射的。如果系统结构支持独立的IO地址空间,并且是端口映射,就必须使用汇编语言完成实际对设备的控制,因为C语言并没有提供真正的“端口”的概念。如果是内存映射,那就方便的多了。 以 #define IOPIN (*((volatile unsigned long *) 0xE0028000)) 为例:作为一个宏定义语句,define是定义一个变量或常量的伪指令。首先( volatile unsigned long * )的意思是将后面的那个... 阅读全文
posted @ 2012-04-22 18:19 hicjiajia 阅读(409) 评论(0) 推荐(0) 编辑

视频那些事

摘要: 这几天想买ARM板子了,顺便在网上找找视频,在VeryCD上找了一套国嵌的共享版视频,但在共享版视频中却又少了“内核驱动”的视频,居然偷工减料了....还好在尚观网站上发现了其余视频,遗憾的是只能在线看;欣喜的是下载地址被嗅到了,更欣喜的是地址只简单的做了下 encodeURI 编码,三下五除二,把所有文件名 encodeURI 下,组合成下载地址,全部下了回来。不过还有四个未公开视频班,要花钱买得......(我忘记保存编码后的地址了,不过方法就是这样,需要的自己组合地址下载吧.....) 阅读全文
posted @ 2012-04-22 11:08 hicjiajia 阅读(358) 评论(0) 推荐(0) 编辑

A/D 有点乱

摘要: A/D有点小麻烦,需要模数/数模互转,我游荡了好久才找到门。一、理论知识二、实践为主三、误差分析四、代码分析五、杂七杂八.一、理论知识 模数/数模转换基本上是一个比例上的问题。也就是说,由ADC产生的数字值是和输入电压与转换器量程的比值相关的。例如,如果2V的电压输入到一个满量程为5V的ADC,则数字输出结果应该是ADC输出的最大数字量的40%(2V/5V = 0.4)。 可用的 ADC 可以提供各种和输出数字范围。输出的数字范围通常以“位”来表示,如 8 位, 10 位等。输出的位数决定了可以从转换器输出端读取的数值范围。一个8位转换器可以提供 0 - 255(2的8次方减去一)数值范围.. 阅读全文
posted @ 2012-04-15 13:36 hicjiajia 阅读(871) 评论(0) 推荐(0) 编辑

窗口置顶小工具

摘要: 经常要开多个窗口,也经常希望某个窗口总在最前,部分软件自带了置顶功能,但大部分都没有,但却是需要,没有也得有!用WIN32 API做了个窗口置顶小工具,使用非常简单,运行程序后,会自动列出当前所有可见的窗口的 “标题名” 和对应的 “窗口句柄”:此刻需要选择某个窗口,可以选择输入窗口标题关键字,(例如我们选择 STC 单片机的下载软件 ):或者输入窗口对应的句柄:然后,按照提示操作就可以了,1:置顶、2:取消置顶、3:重新选择需要说明一点的是,用句柄选择窗口更加好用一些,因为有些软件使用自己的皮肤库,他们的标题栏很可能只是一张图片,若使用关键字可能会失败...下载地址:点这里代码:#i 阅读全文
posted @ 2012-04-13 16:17 hicjiajia 阅读(1440) 评论(0) 推荐(0) 编辑

多格式过滤器

摘要: 用迅雷下载文件时间久了TDDOWNLOAD 文件下一大堆文件,各式各样,想把他们归类整理一番,若在Linux和Window下可以用命令直接搞定,不过命令对普通用户不友好,本着实践态度,外加好友的需要,特制作一下。文件复制部分不必说,就是一个Qt文件复制API,如果需要就递归一下 ;关键在过滤器这里,就是要实现一次复制多个指定格式的文件,用Qt自带的过滤一次只能抓取一种格式,一次多种格式好像没法了 ;我的思路是定义一个QString对象,接受例如 :"jpg,png,txt" 类型字符串的输入,然后用 split() 以逗号为分割符分割成QStringList,然后在复制函数 阅读全文
posted @ 2012-04-13 13:28 hicjiajia 阅读(1180) 评论(0) 推荐(0) 编辑

IIC总线

摘要: 我这块板子很多芯片都是IIC总线传输,所以先去学了下IIC,然后继续操作芯片。(初学者经验不足,在淘宝上看他们给的截图包含大量的视频,实际结果是只有简单的实验有教程,其他的直接给代码,悲哀啊!!!)网上可以很容易找到IIC总线的中文资料,我这里就不在啰嗦,我简单的把IIC的操作封装下,方便使用。1、D/A实验:(D/A芯片是 PCF8591,目的是控制LED灯缓慢熄灭)#include "iic.h" // 引入IIC操作,自定义的库#include <reg52.h>void main(){ uchar num; IIC_INIT(); // 初始化IIC总. 阅读全文
posted @ 2012-04-10 17:38 hicjiajia 阅读(2696) 评论(0) 推荐(1) 编辑
上一页 1 2 3 4 5 6 7 8 ··· 13 下一页