ARM编程学习笔记
Justin 86
这个作者很懒,什么都没留下…
展开
-
printf/scanf库函数制作
printf和scanf是标准C中最常用的输入输出函数,裸机编程由于没有操作系统的支持,所有的库函数都不能直接使用,所以需要我们自己来实现它们printf/scanf 的制作需要以下几个文件:vsprintf.c ---scanf和printf的核心算法,来自Linux内核代码div64.S ---64位除法运算lib1funcs.S ---实现除法、求模操作以上二者都是ARM汇编写的mu原创 2008-09-22 13:39:00 · 2615 阅读 · 0 评论 -
GCC链接时外部符号解析的问题——extern关键字
一、问题简述: 这段时间在Linux下用GCC做ARM编程。有一段程序,是调用nand_read_ll()函数从NAND Flash读取程序本身,并拷贝到SDRAM中,其中用到了程序的连接地址__ro_start,这个符号是在head.S中定义的,代表程序的其实地址,在C程序中extern这个符号,编译、连接都通过,但载入目标机运行时却发生死机,无论如何修改代码都能解决,后来看了反汇编才明白,其原创 2008-10-04 20:45:00 · 1956 阅读 · 0 评论 -
[zz] MP3播放器madplay的编译
1、下载以下程序libid3tag, libmad, madplay。2、下载zlib一个压缩库, libid3tag需要它用交叉编译工具编译zlib,并且把库生成到交叉编译环境的库目录下./configure --prefix=/usr/local/arm/3.4.1/arm-linux. 修改Makefile. CC=arm-linux-gcc AR=arm-li转载 2010-03-14 21:52:00 · 918 阅读 · 0 评论