- 博客(11)
- 资源 (3)
- 收藏
- 关注
转载 vsprintf函数和va_list用法详解
void UART1_Printf(char *fmt,...){ va_list ap; char string[128]; va_start(ap, fmt); vsprintf(string, fmt, ap); UART1_SendString(string); va_end(ap);}不解。查找了一下用法,记录如下:VA_LIST的用法(
2013-07-01 19:45:29
579
转载 ARM链接脚本
链接定位是系统级软件开发过程中必不可少的一部分,嵌入式软件开发均属于系统级开发,绝大部分嵌入式软件都涉及到链接定位脚本文件;链接定位脚本使得我们的目标代码组织更加灵活。1. 链接定位脚本文件说明链接定位过程一般由链接器根据链接定位脚本完成,比较简单的系统可以通过设置链接器开关选项取代链接定位脚本;链接定位的关键是链接定位脚本的编写。我们从典型的目标文件结构开始,来介绍链接定位脚本文件的编写
2013-05-28 07:20:57
909
原创 位置无关码
1位置无关代码及程序设计方法 1.1基本概念与实现原理 应用程序必须经过编译、汇编和链接后才变成可执行文件,在链接时,要对所有目标文件进行重定位(relocation),建立符号引用规则,同时为变量、函数等分配运行地址。当程序执行时,系统必须把代码加载到链接时所指定的地址空间,以保证程序在执行过程中对变量、函数等符号的正确引用,使程序正常运行。在具有操作系统的系统中,重定位过程
2013-05-27 10:11:18
837
转载 arm-linux-gcc/ld/objcopy/objdump使用总结
arm-linux工具的功能如下:arm-linux-addr2line 把程序地址转换为文件名和行号。在命令行中给它一个地址和一个可执行文件名,它就会使用这个可执行文件的调试信息指出在给出的地址上是哪个文件以及行号。 arm-linux-ar 建立、修改、提取归档文件。归档文件是包含多个文件内容的一个大文件,其结构保证了可以恢复原始文件内容。arm-linux-c++flit 连
2013-05-22 17:12:37
442
原创 C与汇编互调实例
C语言调用汇编实例:extern void strcopy(char *d, const char *s); // 使用关键词extern声明strcopy extern void strcopy(char *d,const char *s);int casm_test1(){ const char *srcstr = "First string - source";
2013-05-22 15:10:53
982
转载 ARM指令里几个特殊符号
特殊符号 对应指令 含义 = DCB 分配一片连续的字节存储单元并用指定的数据初始化 & DCD 分配一片连续的字存储单元并用指定的数据初始化 % SPACE 分配一片连续的存储单元 ^
2013-05-22 14:46:02
596
转载 C语言与汇编语言相互调用
在使用C语言时,要用到和汇编语言的混合编程。若汇编代码较为简洁,则可使用直接内嵌汇编的方法;否则要将汇编程序以文件的形式加入到项目中,按照ATPCS(ARM/Thumb过程调用标准,ARM/Thumb Procedure Call Standard)的规定与C程序相互调用与访问。 在C程序和ARM汇编程序之间相互调用时必须遵守ATPCS规则。ATPCS规定了一些子程序间调用的基本规则,寄存
2013-05-22 14:42:21
2115
转载 extern关键字详解
内容:1. 用extern声明外部变量(1)在一个文件内声明的外部变量(2)在多个文件中声明外部变量(3)在多个文件中声明外部结构体变量2. 用extern声明外部函数3. 总结 1. 用extern声明外部变量定义:外部变量是指在函数或者文件外部定义的全局变量。外部变量定义必须在所有的函数之外,且只能定义一次。(1) 在一个文件内声明的外部变
2013-05-22 14:32:35
662
转载 ARM伪指令
— AREA — ALIGN — CODE16、CODE32 — ENTRY — END — EQU — EXPORT(或GLOBAL) — IMPORT — EXTERN — GET(或INCLUDE) — INCBIN — RN — ROUT 1、 AREA 语法格式: AR
2013-05-22 10:56:46
912
原创 ARM常用指令
---------------------------------ARM存储器访问指令1.Load/Store指令LDR R1,[R0,#0x12] ;将R0+0x12地址处的数据读出,保存到R1中(R0的值不变)LDR R1,[R0,#-0x12] ;将R0-0x12地址处的数据读出,保存到R1中(R0的值不变)LDR R1,[R0] ;将R0地址处的数据读出,保存到R1
2013-05-22 10:33:57
1232
原创 ARM指令的条件码
EQ 相等NE 不相等CS 进位设置CC 进位清除MI 负数PL 非负数VS 上溢出VC 没有上溢出HI 无符号数大于LS 无符号数小于等于GE 带符号数大于等于LT 带符号数小于GT 带符号数大于LE 带符号数小于等于AL 无条件执行
2013-05-22 09:27:08
797
uCOS II在S3C2440移植+SPI中断(mdk4.2)
2014-04-01
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅