
ARM
咕噜咕噜斯基
哎哟, 不错哦.
展开
-
main()是程序运行的第一个函数吗?
程序运行到main()函数之前,CPU做了那些事情?main()是程序运行的第一个函数吗? 你是否真的明白——编译、链接、重定位以及虚拟地址? 或许,你不需要知道和理解这些知识就能够编程,而且工资还很高,但这些都不是你不知道的理由。 在早期的计算机中,由于所有程序在运行时所访问的地址都是物理地址,所以各个程序所使用的地址空间不是 互相隔离的,如果因为转载 2012-08-19 17:26:14 · 3078 阅读 · 0 评论 -
回调函数和中断处理函数
原文: http://www.sdembed.com/thread-157-1-1.html====================================================================================1,回调函数。回调函数的原理是使用函数指针实现类似“软中断”的概念。比如在上层的两个函数A和B,把自己的函数指针传给了C转载 2012-10-04 22:42:00 · 15868 阅读 · 0 评论 -
ARM地址重映射的通俗解释
ARM芯片的地址重映射 映射就是一一对应的意思。重映射就是重新分配这种一一对应的关系。 我们可以把存储器看成一个具有输出和输入口的黑盒子。如下图所示,输入量是地址,输出的是对应地址上存储的数据。当然这个黑盒子是由很复杂的半导体电路具现的,具体的实现的方式我们现在不管。存储单位一般是字节。这样,每个字节的存储单元对应一个地址,当一个合法地址从存储器的地址总线输入后,该地址对应的存储单元上存储的数据就转载 2012-10-01 19:45:10 · 1273 阅读 · 0 评论 -
ARM 指令条件码
节选自: ARM Development Tools.chm原创 2012-10-10 12:24:20 · 2273 阅读 · 0 评论 -
下载烧录后, 如何判定程序是在运行的呢?
废话少絮. 记录.------------------------------------------------------------------------------------------------------------------------------------------------1. 先用仿真器(JTAG/J-link)下载到板子内, 下载后, 在程序的第一行设置原创 2012-09-28 19:14:24 · 1892 阅读 · 1 评论 -
从 51 到 ARM, 这路怎么走?
原帖: http://www.amobbs.com/thread-5462507-1-1.html说的不错, 尤其是 23 楼的那哥们, 嘿嘿......抓住, 记录下来, 分享.//////////////////////////////////////////////////////////////////////////////////////////////////////////转载 2012-07-07 13:34:13 · 8369 阅读 · 1 评论 -
ARM CPU 寄存器组织
ARM CPU 为用户模式提供了 16 个通用寄存器和一个状态寄存器 (CPSR), 不同模式间还提供有备份状态寄存器(SPSR). 对于软硬件的一些约定, 下面三个寄存器有着不同的含义, 使用时要注意:R13 is used as stack pointer (SP) that holds the current stack address(堆栈指针)R14 is used as l原创 2012-10-10 12:30:42 · 1537 阅读 · 0 评论 -
C 语言中宏的使用
作者: Hai Shalom 译者: KISSMonX原文地址:http://www.rt-embedded.com/blog/archives/macros-in-the-c-programming-language/================================================翻译 2012-05-03 20:02:10 · 1955 阅读 · 0 评论 -
CPU 的初始化(ARM & u-boot)
1. 设定 CPU 内部寄存器, 包括状态寄存器和SP等.start_code: /* * set the cpu to SVC32 mode */ mrs r0, cpsr bic r0, r0, #0x1f orr r0, r0, #0xd3 msr cpsr, r02. 关闭看门狗. ldr r0, =pWTCON mov r1, #0x0 st原创 2012-10-02 19:36:07 · 4266 阅读 · 0 评论 -
解析STM32启动过程
原帖地址: http://www.amobbs.com/thread-5462931-1-1.html================================================================================================================相对于ARM上一代的主流ARM7/ARM9内核架构,新一代Co转载 2012-09-27 18:27:31 · 3356 阅读 · 0 评论 -
怎样才能保证硬件板子和 boot loader 的执行环境是正确的?
要做到这些测试, 得进行以下的这些验证项目(所有的操作都可以看 u-boot 的源代码 start.S 文件, 不同的平台可能不同, 但是意思差巴多):1. CPU 寄存器操作测试. (参考这篇)2. stack pointer (SP)的设定是否正确, function call 是否可正常运行.3. 中断向量表设定是否正确, 中断向量程序是否可正确运行.4. 内存初始化及其操作原创 2012-09-28 20:23:24 · 1139 阅读 · 0 评论 -
一套完整的ARM交叉编译环境的搭建过程
----------------------------------------------------------------------------------------------------------------------------------------------这个是在阿莫电子论坛看到的: 还不错. 有用. 就收藏了!原帖地址: http://www.amob转载 2012-09-20 16:40:17 · 21901 阅读 · 1 评论 -
[DSP+ARM] 函数优化(整理)
原帖: http://bbs.21ic.com/icview-382765-1-1.html===============================================================================================================================Inline函数 在 C++ 中,原创 2012-10-11 19:04:32 · 1405 阅读 · 0 评论 -
ARM 汇编中的 "B ." 语句意义.
今天在玩 STM32F3 Discovery 的时候, 烧写程序后, FreeRTOS 运行一会就会跳转到 startup_stm32f30x.s 内的系统服务调用处理这段程序的"B ."处, 如下.SVC_Handler PROC EXPORT SVC_Handler [WEAK]原创 2014-03-17 09:54:26 · 5062 阅读 · 2 评论 -
Keil-MDK 中 [WEAK] 的作用
在上一篇文章 ARM 汇编中的 "B ." 语句意义.时, 顺带介绍了 [WEAK] 的作用. 昨天再思考移植问题的时候(也就是执行第一个任务时直接跳到 SVC_Handler 里的 B . 处), 想到了这个问题, 然后在移植配置文件中添加了几个宏定义就解决了问题, 移植成功, 具体下文介绍. 这里再做一次解释. 看看自己是不是真正的理解了. :)第一步明显是要贴代码装逼原创 2014-03-20 16:13:38 · 12410 阅读 · 2 评论 -
发挥ARM Cortex-M3和M4微控制器最大作用的要诀
擦.........EDN 版权所有, 不能转载. 丢下链接: 点击打开链接转载 2013-12-18 09:25:36 · 1249 阅读 · 0 评论 -
嵌入式系统高效编程
作者:Hai Shalom 译者: KISSMonX原文地址:http://www.rt-embedded.com/blog/archives/writing-efficient-c-code-for-embedded-systems//*** 注:** 本文的翻译是业余捣鼓的, 本人是个菜鸟, 不是谦虚. 呵呵...... 早就弄好了, 今天才发.翻译 2012-05-14 18:39:18 · 1118 阅读 · 0 评论 -
Weak linkage in C programming
原文: http://blog.feabhas.com/2013/01/weak-linkage-in-c-programming/更多: 可参考 Keil 的帮助文档, 在其中搜索"__weak"可获取更多详细介绍.=======================================================================================转载 2013-02-20 09:11:53 · 1126 阅读 · 0 评论 -
Ubuntu 下 TQ2440 + OpenOCD + arm-linux-gdb + Eclipse + OpenJTAG 调试下载图例
图要是看不清, 右键本地保存看, 或者右键新窗口打开.Eclipse + arm-linux-gdb + OpenOCD + OpenJTAG:控制台下 GDB + OpenJTAG + OpenOCD:左面是打开的 OpenOCD(打开的当前目录下要有初始化文件). 右面的是 telnet 调试观察端, 中间的是 GDB 调试窗口.以上这些原创 2012-07-24 21:56:41 · 3268 阅读 · 0 评论 -
YAGARTO OpenOCD开发工具windows下
下面这些网址, 打开看就行. 就不介绍了. 不会的可以搜. 因为我实在不会. 这几天搞 ARM-Linux 驱动的开发环境头都整晕了. 到现在也没个大致清晰的轮廓. 就这么着吧. 有时间再补充和修改吧.http://www.amobbs.com/thread-4293552-1-1.htmlhttp://www.yagarto.de/http://www.yagar原创 2012-07-20 18:05:35 · 2189 阅读 · 0 评论 -
Running OpenOCD on Linux
........................................................................................................................................................................http://www.tincantoo原创 2012-07-20 18:14:28 · 821 阅读 · 0 评论 -
windows7 下 TQ2440开发板 + OpenOCD + OpenJTAG + Eclipse + arm-elf-gdb/arm-none-eabi-gdb调试窗口图例
这个调试u-boot(在Linux下编译好的放到 windows 下调试, 就是测试下)这个是调试简单的 LED 灯.详情和资料参看这篇文章: http://blog.youkuaiyun.com/kissmonx/article/details/7782324网上资料也多的很. 其他的我也半瓶子水.原创 2012-07-25 17:53:53 · 3003 阅读 · 0 评论 -
DSP错误解决及经验分享
原帖:http://bbs.21ic.com/icview-346589-1-1.html==================================================DSP 错误解决及经验分享,大家都分享一下自己遇到的问题及相应的解决方法吧,这样就可以让DSP开发者们少走弯路了,每天分享一小段经验,网友节省几天时间,呵呵。==================转载 2012-10-12 13:52:27 · 10373 阅读 · 2 评论 -
ARM各架构处理器特性简介(ARM Processors)
原创 2012-09-28 09:36:34 · 1227 阅读 · 0 评论 -
Memory management(ARM)
摘自: http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0471c/Beihhaag.html文档: ARM Compiler toolchain Developing Software for ARM Processors.pdf就不翻译了, 水平有限, 费时间, 免得误人子弟. 见谅则个! ^_^==原创 2012-09-28 11:42:34 · 888 阅读 · 0 评论 -
Efficient C Tips #6 – Don’t use the ternary operator
by Nigel Jones 原文: http://embeddedgurus.com/stack-overflow/2009/02/efficient-c-tips-6-dont-use-the-ternary-operator/ I have to confess that I like the ternary operator. K&R ob转载 2012-05-08 21:28:32 · 713 阅读 · 0 评论 -
Efficient C Tips #5 – Make ‘local’ functions ‘static’
by Nigel Jones 原文:http://embeddedgurus.com/stack-overflow/2008/12/efficient-c-tips-5-make-local-functions-static/ In my humble opinion, one of the biggest mistakes the desig转载 2012-05-08 21:14:07 · 696 阅读 · 0 评论 -
Efficient C Tips #9 – Use lookup tables
by Nigel Jones 原文:http://embeddedgurus.com/stack-overflow/2009/05/efficient-c-tips-9-use-lookup-tables/ This the ninth in a series of tips on how to make your C co转载 2012-05-12 14:41:31 · 667 阅读 · 0 评论 -
嵌入式中 static, const, volatile, 绝对地址访问, 死循环小结
static:在函数体内,一个被声明为静态的变量在这一函数被调用过程中维持其值不变.在文件域内(但在函数体外),一个被声明为静态的变量可以被文件域内所有函数访问,但不能被文件域外其它函数访问。它是一个本地的全局变量. 在文件域内,一个被声明为静态的函数只可被这一文件域内的其它函数调用。那就是,这个函数被限制在声明它的文件的本地范围内使用.const:只读(不能简原创 2012-07-05 17:57:31 · 2251 阅读 · 0 评论 -
Efficient C Tips #4 – Use Speed Optimization
by Nigel Jones 原文: http://embeddedgurus.com/stack-overflow/2008/09/efficient-c-tips-4-use-speed-optimization/ Back in July 2008 I promised that the next blog post would be on转载 2012-05-07 18:55:02 · 653 阅读 · 0 评论 -
Efficient C Tips #10 – Use unsigned integers
by Nigel Jones原文: http://embeddedgurus.com/stack-overflow/2009/07/efficient-c-tips-10-use-unsigned-integers/This is the tenth in a series of tips on writing efficient C for embedded system转载 2012-05-12 15:08:07 · 752 阅读 · 0 评论 -
Efficient C Tips #7 – Fast loops
by Nigel Jones 原文: http://embeddedgurus.com/stack-overflow/2009/03/efficient-c-tips-7-fast-loops/ Every program at some point requires some set of actions to be taken a fixed nu转载 2012-05-09 21:03:09 · 789 阅读 · 0 评论 -
Efficient C Tips #2 – Using the optimizer
BY : Nigel Jones 原文: http://embeddedgurus.com/stack-overflow/2008/07/efficient-c-tips-2-using-the-optimizer/ In my first post on “Efficient C” I talked about how to use the opt转载 2012-05-06 20:00:41 · 662 阅读 · 0 评论 -
Efficient C Tips #1 – Choosing the correct integer size
BY: Nigel Jones 原文链接: http://embeddedgurus.com/stack-overflow/2008/06/efficient-c-tips-1-choosing-the-correct-integer-size/ From time to time I write articles for Embedded System转载 2012-05-06 13:42:59 · 1138 阅读 · 0 评论 -
常见的复位电路
// 国防科大 王苏峰 老师的课件摘录, 资料留存.复位形式 a. 系统启动时的上电复位 b. 系统运行时的开关(按键)复位复位电路的构成 复位电路一般由简单的RC电路构成 •电阻: 无用功耗 •电容: 复位时间(充放电时间) •反相器:波形整形也可使用较复杂但功能更完善的电路基本的 RC原创 2012-07-05 16:05:36 · 7640 阅读 · 0 评论 -
Efficient C Tips #3 – Avoiding post increment / decrement
by Nigel Jones 原文地址: http://embeddedgurus.com/stack-overflow/2008/08/efficient-c-tips-3-avoiding-post-increment-decrement/ It always seems counter intuitive to me, but post转载 2012-05-07 17:53:32 · 749 阅读 · 0 评论 -
'Optimal' C Constructs for 8051 Microprocessors
By Nigel Jones原文地址: http://www.eetimes.com/design/embedded/4024470/-Optimal-C-Constructs-for-8051-MicroprocessorsThe limitations of an 8-bit microcontroller (MCU) can sometimes make conventional C转载 2012-07-08 16:02:40 · 1786 阅读 · 0 评论 -
Optimizing for the CPU / compiler
By Nigel Jones原文地址: http://embeddedgurus.com/stack-overflow/2012/06/optimizing-for-the-cpu-compiler/It is well known that standard C language features map horribly on to the architecture of转载 2012-07-08 18:16:51 · 1128 阅读 · 0 评论 -
ROM and RAM remapping(ARM)
摘自: http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0471c/Beihhaag.html文档: ARM Compiler toolchain Developing Software for ARM Processors.pdf就不翻译了, 水平有限, 费时间, 免得误人子弟. 见谅则个! ^_^==原创 2012-09-27 22:10:32 · 1168 阅读 · 0 评论 -
Default memory map(ARM)
摘自: http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0471c/Beihhaag.html文档: ARM Compiler toolchain Developing Software for ARM Processors.pdf就不翻译了, 水平有限, 费时间, 免得误人子弟. 见谅则个! ^_^原创 2012-09-27 22:21:11 · 1914 阅读 · 0 评论