1. 执行arm-linux-gcc -v之后提示.../.arm-none-linux-gnueabi-gcc not found
最近开始学习嵌入式linux,按照说明文档安装交叉了编译工具并且设置了PATH,但时执行arm-linux-gcc -v之后却提示
.../.arm-none-linux-gnueabi-gcc not found
上网搜索之后发现之所以出现这个问题是因为linux主机操作系统是64位操作系统,而交叉编译工具是32位的,需要依赖
一个32位库,网上给出的解决办法是安装 lsb-core ,按照提示安装成功后再执行arm-linux-gcc -v就好了。
2.执行arm-linux-gcc 编译时出现error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or director
上网搜索之后发现出现该问题的原因是我使用的是64位ubuntu系统,而该工具链为32位,需要依赖32位库,根据提示执行
apt-get install lib32stdc++6
apt-get install lib32z1
安装这两个软件包之后便可以正常编译了
3.用arm-linux-gcc编译的时候碰到了这个错误:led_on.S:5: Error: invalid constant (111400) after fixup
网上搜了一下,出现如下解释:
mov R1, #0xf0f0f021 最好改成LDR R1,=0xf0f0f021 用mov的话 只要立即数大于0x100后 有些数可以编译通过但是有些数就不能编译通过
关键字:mini2440 交叉编译
引用地址:
mini2440交叉编译工具安装及使用过程中可能会遇到的问题
推荐阅读最新更新时间:2024-11-09 23:08
驱动开发之 HelloWorld (for mini2440)
开发环境:ubuntu16.04 64bit Linux内核版本:linux-2.6.32.2 1、编写mini2440_hello_module.c 在/linux-2.6.32.2/drivers/char目录下,编写mini2440_hello_module.c,代码如下: #include linux/kernel.h #include linux/module.h static int __init mini2440_hello_module_init(void) { printk( Hello yfw, Mini2440 module is installed !n ); return 0;
[单片机]
AD电阻转换---那些年我们一起玩mini2440(arm9)裸机
ADC驱动程序设计 ADC:模/数转换器。 一种将模拟信号转换成数字信号的装置; DAC:数/模转换器。 一种将数字信号转换成模拟信号的装置。 模拟信号转换为数值信号的步骤: 1. 取值; 2. 量化; 3. 编码; S3C2440ADC S3C2440芯片内部共有8路A/D转换通道AIN0~AIN7,但是转换器只有一个。 转换精度为10位,故转换后的值最小时会接近0,最大时会接近1024. 最大的转换率在2.5MHZ转换时钟下能达到500KSPS(每秒采样5000千次) 在常见的设计中,如mini2440开发板,一般AIN4、AIN5、AIN6、AIN7被用作了四线电阻触摸的YM、YP、XM、XP通
[单片机]
U-boot-2014.04移植到MINI2440(4) 第一启动阶段start.S等详细分析
u-boot的启动阶段分为两个,第一部分主要为start.S文件,帖子尽可能的分析了每一行代码的意思,查看了很多手册,分析的目的也是为了学习吧,写博客也是想给自己的学习留下点东西,这些东西网上其实很多,但是感觉看别人写的和字自己分析写一遍,差别好大。转载请注明出处,下面进入正题。 第11行: #include asm-offsets.h //由kbuild自动生成,且不管 #include common.h //include下包含其他通用头文件的头文件 #include config.h //很多体系架构下都有这个各自体系的配置头文件 一.start_code及CPSR分析 第24行: .glo
[单片机]
Exynos4412交叉编译环境搭建
交叉编译:在PC机(x86平台)上开发程序,在ARM板上运行,提高开发、编译速度。 环境: Tiny4412SDK1506开发板 需要软件: arm-linux-gcc-4.5.1-v6-vfp-20120301.tgz 检测系统是否已经安装有交叉编译环境: # arm-linux-gcc -v bash: arm-linux-gcc: command not found 1. 安装步骤: 1)找到arm-linux-gcc-4.5.1-v6-vfp-20120301.tgz 所在路径,并解压压缩文件 # tar xf arm-linux-gcc-4.5.1-v6-vfp-20120301.tgz # ls arm-
[单片机]
mini2440 按键驱动添加定时器消抖动
测试程序和Makefile同前面的实验一样的,这里只记录一下驱动的源代码就行了,改动不大,就是把唤醒进程和发送异步信号的操作移动到定时器的超时函数里面去了,这样做的目的是为了消除按键的机械抖动。 驱动源代码: #include linux/module.h #include linux/kernel.h #include linux/device.h #include linux/fs.h #include linux/init.h #include linux/delay.h #include linux/interrupt.h #include linux/irq.h #include linux/gp
[单片机]
Linux ARM交叉编译工具链制作过程
一、下载源文件 源代码文件及其版本与下载地址: Binutils-2.19.tar.bz2 http://ftp.gnu.org/gnu/binutils/ gcc-4.4.4.tar.bz2 http://mirrors.kernel.org/gnu/gcc/gcc-4.4.4/ Glibc-2.11.2.tar.bz2 Glibc-ports-2.11.tar.bz2 http://ftp.gnu.org/gnu/glibc/ Gmp-4.2.tar.bz2 http://ftp.gnu.org/gnu/gmp/ Mpfr-2.4.0.tar.bz2 http://ftp.gnu.org/gnu/mpfr/
[单片机]
mini2440的触摸屏驱动----使用input子系统实现
没说程序之前先上图一张,这个图方便理解input子系统下的触摸屏的实现。 关于input子系统的实现在前几篇博客中已经实现了input子系统的按键驱动。 下面开始说触摸屏的驱动程序。 在说之前先结合上面的图说一下几个主要的函数的调用情况。 个中断函数的调用次序: 先是stylus_updown TC中断处理函数, 如果要是压下则调用touch_timer_fire来启动ADC转换, 在ADC转换结束之后调用stylus_action。 程序中前面定义的宏和变量: /* For ts.dev.id.version */ #define S3C2410TSVERSION 0x0101 /*定义一个WA
[单片机]
mini2440硬件篇之ADC触摸屏
1.1. ADC知识 ADC(Analog to Digital Converter),可以接收8个通道的模拟信号输入,并将它们转换为10位的二进制。在2.5MHz的A/D转换时钟下,最大转化速率可达500KSPS(SPS:samples per second,每秒采样次数)。 1.2. 触摸屏硬件知识 触摸屏是当今最流行的一种人机交互接口,它被广泛地应用于手机等消费类电子产品中,目前这种技术有向PC机方向发展的趋势。基于原理的不同,触摸屏可以分为电阻式、电容式、表面声波式等。电阻式是应用较广的一种触摸屏,它的原理是通过测量横向和纵向的电阻值来获得触点的坐标。 1.3. 电阻式触摸屏工作原理原理 触摸屏附着在显示器的表面,与显
[单片机]