- 博客(17)
- 资源 (15)
- 收藏
- 关注
转载 如何禁止KEIL初始化RAM为零& 如何判断是软复位还是上电复位
笔记:(1)如何禁止KEIL初始化RAM为零? 1. 在KEIL Noinit 打钩 2. 另须对需要热启动保持的变量用__at关键字指定某个区域,否则还是没用 (#include "absacc.h") 或者__attribute__((zero_init)) 关键字 .bss段
2013-05-20 15:08:34 5785
转载 ARM与51编写程序的区别
(1) int变量 在51 占2个字节;在ARM占4个字节 (2)结构体对齐 在51是按照一个字节对齐; 在ARM是按结构体默认对齐规则对齐 (3)字节在内存的排列顺序 在51是大端 ; 在ARM大多数是小端,但有的可以大小端选择。 在大端存储格式中,字数据的高字节存储在低地址中,而字数据的低字节则存放在高地址中
2013-05-20 15:08:02 2694
转载 ARM中C和汇编混合编程及示例
参数的传递规则. 根据参数个数是否固定,可以将子程序分为参数个数固定的子程序和参数个数可变的子程序.这两种子程序的参数传递规则是不同的. 1.参数个数可变的子程序参数传递规则 对于参数个数可变的子程序,当参数不超过4个时,可以使用寄存器R0~R3来进行参数传递,当参数超过4个时,还可以使用数据栈来传递参数. 在参数传递时,将所有参数看做是存放在连续的
2013-05-20 15:07:24 3960
转载 arm开发问题
转自zyboy2000汇编代码要注意有些要顶格,有些要加空格,否则编译会有问题 (一)堆的设置问题在启动代码 B__mian指令后,程序没有跳到main函数处,而是进入了异常中断。原因:通过反汇编,可以看到,在执行B__mian指令后,并不是立即跳到main函数处,而是先跳到__main库函数入口,再执行一些堆栈的拷贝等初始化操作,最后跳到mai
2013-05-20 15:06:09 1149
转载 ARM如何指定函数运行在RAM--KEIL
两种方法,假设要要运行在RAM的函数统一放在download.c文件中 第一种方法:(采用默认的sct分散文件)将要运行在RAM的函数放在一个文件中。在KEIL右键点击该文件"options for File "*.*", 在Memory Assignment中选择code/const选择RAM空间 第二种方法:(采用自写的sct分散文件)将要运行在
2013-05-20 14:56:48 5269
转载 论坛各种问题总结--(随时更新)
转自zyboy2000(-5) 为何现在串口速率比并口速率要快?并行通信的瓶颈:并行数据传输技术向来是提高数据传输率的重要手段,但是,进一步发展却遇到了障碍。首先,由于并行传送方式的前提是用同一时序传播信号,用同一时序接收信号,而过分提升时钟频率将难以让数据传送的时序与时钟合拍,布线长度稍有差异,数据就会以与时钟不同的时序送达,另外,提升时钟频率还容易引起信号线间的相互干扰,导致传输错
2013-05-20 14:56:13 1262
转载 JTAG标准
对于ULINK的JTAG(20pin)发现连接到PC机,1脚和20脚电压2点几伏,连接到电路板,会使CPU运行,(1,2脚不接电路板就可以) JTAG(Joint Test Action Group ,联合测试行动小组 ) 是一种国际标准测试协议,主要用于芯片内部测试及对系统进行仿真、调试, JTAG 技术是一种嵌入式调试技术,它在芯片内部封装了专门的测试电路 TAP ( Test Acc
2013-05-20 14:54:45 2049
转载 ISP,IAP,ICP之间的区别
ISP:In System Programing,在系统编程IAP:In applicating Programing,在应用编程ICP:In Circuit Programing,在电路编程 ISP是指可以在板级上进行编程,也就是不用拆芯片下来,写的是整个程序,一般是通过ISP接口线来写。(芯片一般固化了用来ISP升级的boot程序)
2013-05-20 14:54:11 1280
转载 ARM地址重映射的通俗解释
重映射之后,一般原来的地址依然有效。也就是说,可能两个地址,对应一个存储单元。 ARM芯片的地址重映射 映射就是一一对应的意思。重映射就是重新分配这种一一对应的关系。 我们可以把存储器看成一个具有输出和输入口的黑盒子。如下图所示,输入量是地址,输出的是对应地址上存储的数据。当然这个黑盒子是由很复杂的半导体电路具现的,具体的实现的方式我们现在不管。存储单位一般是字节。这样,每个字节的
2013-05-20 14:53:31 1230
转载 深入谈谈IAP升级
转自zyboy2000最近做过51_IAP和ARM_IAP升级,感觉到他们的相同点和不同点,特记录如下: 共同点:做好IAP的关键都是中断向量的映射(REMAP)问题一般都分为bootloader区和用户区 不同点:单片机的中断向量位置是固定的,位于0x0000的底部。ARM的中断向量也一般是在0x0000的底部,但有的A
2013-05-20 14:52:59 1728
转载 MDK(KEIL)中设定变量或数组到指定的位置
转自zyboy2000定位变量到指定的位置使用定义在头文件 absacc.h中的 __at宏,可以将变量以如下方式定位到绝对地址处:C 例子:#include const char MyText[] __at (0x1F00) = "TEXT AT ADDRESS 0x1F00"; int x __at (0x40003000);
2013-05-20 14:51:54 10584
转载 如何禁止KEIL初始化RAM为零& 如何判断是软复位还是上电复位
转自zyboy2000原文http://blog.csdn.net/zyboy2000/article/details/8685836笔记:(1)如何禁止KEIL初始化RAM为零? 1. 在KEIL Noinit 打钩 2. 另须对需要热启动保持的变量用__at关键字指定某个区域,否则还是没用 (#i
2013-05-20 14:49:28 1234
转载 Realview MDK中链接脚本详细解析
使用Realview MDK时不可避免的要涉及到链接脚本文件,特别是编译链接那些大的工程文件时更是如此。在链接脚本中可以指定代码的存储布局,可以将代码段、只读数据段、可读写的数据段分别存放,甚至可以精确地指定代码放置的位置,这一点是很关键的,譬如说启动代码就必须放在可知型文件的开始位置。由于链接脚本重要性,开发者必须掌握其编写的方法。Realview MDK链接程序使用了两种方式控制程序的链接
2013-05-20 14:48:26 2627
转载 HardFault_Handler问题查找方法
转自zyboy2000,好文转来学习学习原文链接http://blog.csdn.net/zyboy2000/article/details/7668331STM32出现HardFault_Handler故障的原因主要有两个方面:1、内存溢出或者访问越界。这个需要自己写程序的时候规范代码,遇到了需要慢慢排查。2、堆栈溢出。增加堆栈的大小。
2013-05-20 14:47:05 1986
原创 LPC23xx开发板通过同一按键实现短按复位和长按恢复出厂设置
最近一个基于LPC23xx的项目要通过一个按键同时实现复位和恢复出厂设置(类似于有些ADSL和路由器上用细针顶一下孔)。我是通过外部中断来实现的,分享下我的思路和方案,算是抛砖引玉吧。 【需求】 通过一个按键同时实现复位(短按)和恢复出厂设置(长按两秒) 【实现方案】 产品基于LPC23xx的开发板。(其它NXP ARM7
2013-05-06 15:00:06 4362
原创 ARM 开发软件
一直用Keil的MDK+RL-Arm开发,多年下来也用惯了,对其他开发工具也没太多接触,常言道存在即是合理,各个开发工具都有其优劣点吧。今天有空转载些ARM的开发环境的介绍吧,也顺便给博客除除草(技术心得和笔记还是经常记得,只是没发到这里而已)。--------以下为转载---------------------一、编译器介绍1、ADS1.2 ADS是
2013-05-05 21:56:52 2328 1
Prolific PL2303驱动(Win7,Win8/8.1可用)
2014-02-21
改好的EP43T-UD3L BIOS 771 L5420/E5420微码
2013-10-17
华硕P5QL Pro主板BIOS 支持771 L5420 E5420
2013-09-06
NC4400笔记本完美bios slic2.1去白名单
2012-06-12
SST 39VF6401B Keil3 驱动
2011-09-22
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人