历史上的今天
返回首页

历史上的今天

今天是:2025年02月13日(星期四)

正在发生

2020年02月13日 | 构建arm-linux-gnueabi-gcc-4.6.3交叉编译链

2020-02-13 来源:eefocus

一、准备工作

1、准备文件

binutils-2.22.tar.bz2

gcc-4.6.3.tar.bz2

glibc-2.14.1.tar.xz

glibc-ports-2.14.1.tar.gz

glibc-linuxthreads-2.5.tar.bz2

gdb-7.4.1.tar.bz2

linux-2.6.38.8.tar.bz2

mpfr-3.1.1.tar.bz2

mpc-1.0.1.tar.gz

gmp-5.1.0.tar.bz2

 

2、建立以下变量,方便稍候的输入

#vim ~/.bashrc

export TARGET=arm-linux-gnueabi
export PREFIX=/usr/local/arm-linux-gcc/4.6.3
export TARGET_PREFIX=$PREFIX/$TARGET
export PATH=$PATH:$PREFIX/bin

 

3、为宿主机安装mpfr、mpc、gmp

#tar -xvf gmp-5.1.0.tar.bz2

#cd gmp-5.1.0

#mkdir build

#cd build

#../configure

#make all -j4

#make install

 

#tar -xvf mpfr-3.1.1.tar.bz2

# cd mpfr-3.1.1
#mkdir build

#cd build

#../configure

#make all -j4

#make install

 

#tar -xvf mpc-1.0.1.tar.gz

#cd mpc-1.0.1

#mkdir build

#cd build

#../configure

#make all -j4

#make install

 

4、复制linux-kernel-headers

#tar -xvf linux-2.6.38.8.tar.bz2

#cd linux-2.6.38.8

#make include/linux/version.h
  CHK     include/linux/version.h
  UPD     include/linux/version.h

#mkdir -p $TARGET_PREFIX/include

#cp -r ./include/linux/ $TARGET_PREFIX/include

#cp -r ./include/asm-generic/ $TARGET_PREFIX/include

#cp -r ./arch/arm/include/asm/ $TARGET_PREFIX/include

 

二、编译binutils

#tar -xvf binutils-2.22.tar.bz2

#cd binutils-2.22

#mkdir build

#cd build

#../configure --prefix=$PREFIX --target=$TARGET

#make all -j4

#make install

 

三、初步编译gcc(不带glibc支持)

#tar -xvf gcc-4.6.3.tar.bz2

 

重新解压mpfr-3.1.1.tar.bz2、mpc-1.0.1.tar.gz、gmp-5.1.0.tar.bz2,并改名复制至gcc-4.6.3中

#rm -rf mpfr-3.1.1 mpc-1.0.1  gmp-5.1.0

 

#tar -xvf gmp-5.1.0.tar.bz2

#mv gmp-5.1.0 gmp

#mv ./gmp ./gcc-4.6.3

 

#tar -xvf mpfr-3.1.1.tar.bz2

#mv mpfr-3.1.1 mpfr

#mv ./mpfr ./gcc-4.6.3

 

#tar -xvf mpc-1.0.1.tar.gz

#mv mpc-1.0.1 mpc

#mv ./mpc ./gcc-4.6.3

 

#cd gcc-4.6.3

#mkdir build

#cd build

#../configure --prefix=$PREFIX --target=$TARGET --without-headers --enable-languages=c --disable-threads --with-newlib --disable-shared --disable-libmudflap --disable-libssp --disable-decimal-float
#make all-gcc -j4

#make install-gcc

#make all-target-libgcc -j4

#make install-target-libgcc

 

四、编译glibc

#tar -xvf glibc-2.14.1.tar.xz

#tar -xvf glibc-ports-2.14.1.tar.gz

#mv glibc-ports-2.14.1 ports
#mv ./ports/ ./glibc-2.14.1

#tar -xvf glibc-linuxthreads-2.5.tar.bz2 --directory=./glibc-2.14.1

 

# cd glibc-2.14.1

# mkdir build

# cd build

# CC=$TARGET-gcc

# ln -s /usr/local/arm-linux-gcc/4.6.3/lib/gcc/arm-linux-gnueabi/4.6.3/libgcc.a /usr/local/arm-linux-gcc/4.6.3/lib/gcc/arm-linux-gnueabi/4.6.3/libgcc_eh.a

 

创建config.cache配置文件

# vim config.cache

libc_cv_forced_unwind=yes

libc_cv_c_cleanup=yes

libc_cv_arm_tls=yes

 

# ../configure --host=$TARGET --target=$TARGET --prefix=$TARGET_PREFIX --enable-add-ons --disable-profile --cache-file=config.cache --with-binutils=$PREFIX/bin --with-headers=$TARGET_PREFIX/include

#make all -j4

#make install

 

五、重新编译gcc

# cd gcc-4.6.3/build/

# rm -rf *

# ../configure --prefix=$PREFIX --target=$TARGET --enable-shared --enable-languages=c,c++

# make all -j4

# make install

 

六、编译gdb

# tar -xvf gdb-7.4.1.tar.bz2 
# ../configure --prefix=$PREFIX --target=$TARGET

# make all -j4

# make install

 

七、创建链接

# cd $PREFIX/bin

# ln -s arm-linux-gnueabi-addr2line arm-linux-addr2line
# ln -s arm-linux-gnueabi-ar arm-linux-ar
# ln -s arm-linux-gnueabi-as arm-linux-as
# ln -s arm-linux-gnueabi-c++ arm-linux-c++
# ln -s arm-linux-gnueabi-c++filt arm-linux-c++filt
# ln -s arm-linux-gnueabi-cpp arm-linux-cpp
# ln -s arm-linux-gnueabi-elfedit arm-linux-elfedit
# ln -s arm-linux-gnueabi-g++ arm-linux-g++
# ln -s arm-linux-gnueabi-gcc arm-linux-gcc
# ln -s arm-linux-gnueabi-gcc-4.6.3 arm-linux-gcc-4.6.3
# ln -s arm-linux-gnueabi-gcov arm-linux-gcov
# ln -s arm-linux-gnueabi-gdb arm-linux-gdb
# ln -s arm-linux-gnueabi-gdbtui arm-linux-gdbtui
# ln -s arm-linux-gnueabi-gprof arm-linux-gprof
# ln -s arm-linux-gnueabi-ld arm-linux-ld
# ln -s arm-linux-gnueabi-ld.bfd arm-linux-ld.bfd
# ln -s arm-linux-gnueabi-nm arm-linux-nm
# ln -s arm-linux-gnueabi-objcopy arm-linux-objcopy
# ln -s arm-linux-gnueabi-objdump arm-linux-objdump
# ln -s arm-linux-gnueabi-ranlib arm-linux-ranlib
# ln -s arm-linux-gnueabi-readelf arm-linux-readelf
# ln -s arm-linux-gnueabi-run arm-linux-run
# ln -s arm-linux-gnueabi-size arm-linux-size
# ln -s arm-linux-gnueabi-strings arm-linux-strings
# ln -s arm-linux-gnueabi-strip arm-linux-strip

 

完成

推荐阅读

史海拾趣

CTC [Compact Technology Corp.]公司的发展小趣事

CTC公司在创立初期便致力于半导体技术的研发。一次偶然的实验中,公司团队成功研发出了一种新型的晶体管结构,这一创新使得晶体管的工作效率大大提升,同时降低了能耗。这一技术突破迅速引起了行业的关注,CTC公司的名字开始在电子行业中崭露头角。随着该技术的普及和应用,CTC公司的业务逐渐扩大,奠定了在电子行业的重要地位。

CT Micro公司的发展小趣事
  1. 创业初期与技术创新

CT Micro公司最初由几位电子工程领域的专家创立,他们看到了微型计算机断层扫描(Micro-CT)技术在电子行业中的巨大潜力。初期,公司面临着资金短缺和技术难题,但他们通过不断研发和创新,成功开发出了一款具有高性价比的Micro-CT设备,迅速获得了市场的认可。

  1. 市场拓展与合作伙伴关系

随着产品的成熟,CT Micro开始积极寻求市场拓展。他们与多家电子制造企业建立了合作关系,为这些企业提供Micro-CT设备的定制服务。通过与这些企业的合作,CT Micro不仅扩大了市场份额,还进一步提升了产品的技术水平和应用范围。

  1. 研发升级与产品迭代

面对日益激烈的市场竞争,CT Micro不断投入研发力量,对Micro-CT设备进行升级和迭代。他们成功推出了多款新型设备,具有更高的分辨率、更快的扫描速度和更低的辐射剂量。这些新产品的推出,进一步巩固了CT Micro在电子行业中的领先地位。

  1. 国际化战略与市场拓展

随着国内市场的饱和,CT Micro开始实施国际化战略。他们积极参与国际展览和研讨会,展示自己的产品和技术实力。同时,他们还在海外设立了销售和服务中心,为国际客户提供更加便捷的服务。通过这些努力,CT Micro成功打开了国际市场的大门。

  1. 社会责任与可持续发展

在快速发展的同时,CT Micro也积极履行社会责任。他们注重环保和可持续发展,采用环保材料和节能技术生产产品。此外,他们还积极参与公益事业,为贫困地区的教育和医疗事业贡献力量。这些举措不仅提升了公司的社会形象,也为其可持续发展奠定了坚实基础。

请注意,这些故事框架是虚构的,并不代表CT Micro公司的实际发展情况。如果您需要了解CT Micro公司或类似公司的真实故事,建议您查阅相关公司的官方网站、新闻报道或行业分析报告。

Gespac Inc公司的发展小趣事

对于快速充电IC(bq2002)电路,网友可能还会有多种问题,以下是一些常见问题及其回答:

一、电路设计相关问题

  1. BQ2002的BAT引脚如何正确接入电池电压?
    • 回答:BQ2002的BAT引脚用于接收电池电压的取样信号。通常,电池电压会经过一个电阻分压网络后接入BAT引脚,以确保BQ2002能够正确检测电池电压。电阻分压网络的输入电阻不应小于200kΩ,以避免对电池电压造成过大影响。
  2. 如何设置BQ2002的充电速率?
    • 回答:BQ2002的充电速率可以通过TM引脚进行设置。当TM引脚接地时,充电速率为1C(即电池容量的1倍)。此外,根据数据手册,TM引脚的不同电平还可能对应不同的充电速率,如C/2或2C,但具体设置需参考具体的数据手册或应用指南。
  3. BQ2002的CC引脚如何控制充电电流?
    • 回答:BQ2002的CC引脚用于控制充电电流的开关,而不是直接调节充电电流的大小。CC引脚有两种状态:高阻态和接地态。当CC引脚为高阻态时,充电电流可以流动;当CC引脚接地时,充电电流被抑制。充电电流的大小通常由外部恒流源(如LM317等)的电阻设置决定,与CC引脚的状态无关。

二、功能实现与调试问题

  1. 为什么BQ2002没有进入快速充电模式?
    • 回答:BQ2002没有进入快速充电模式可能由多种原因造成,如电池电压或温度不符合快速充电条件、TS引脚电压不在正常范围内、或外部电路设计问题等。建议检查电池电压和温度是否满足快速充电条件,同时检查TS引脚电压是否介于0.25VCC和0.4VCC之间(或1.25V和2.0V之间),并确认外部电路设计无误。
  2. BQ2002在充电过程中突然停止充电怎么办?
    • 回答:BQ2002在充电过程中突然停止充电可能是由于电池过热、电池电压过高或外部电路故障等原因造成的。建议检查电池温度是否过高,电池电压是否超出BQ2002的承受范围,并检查外部电路是否有短路或断路等故障。如果问题依旧存在,可能需要更换BQ2002芯片或重新设计外部电路。
  3. 如何调整BQ2002的充电截止电压?
    • 回答:BQ2002的充电截止电压通常是通过外部电路设计来调整的。具体方法可能因电路设计而异,但一般可以通过调整与BAT引脚相连的分压电阻的阻值来改变BQ2002检测到的电池电压值,从而调整充电截止电压。需要注意的是,在调整充电截止电压时,应确保电池不会因过充而损坏。

三、其他常见问题

  1. BQ2002支持哪些类型的电池?
    • 回答:BQ2002通常支持多种类型的可充电电池,如镍氢电池、锂离子电池等。但具体支持的电池类型可能因BQ2002的版本或制造商而有所不同。因此,在使用BQ2002进行电池充电时,应参考具体的数据手册或应用指南以了解支持的电池类型。
  2. BQ2002的功耗如何?
    • 回答:BQ2002的功耗通常较低,但具体功耗值可能因工作条件(如输入电压、输出电流、环境温度等)的不同而有所变化。在设计电路时,应充分考虑BQ2002的功耗对系统整体性能的影响,并采取相应的措施来降低功耗。

以上是针对快速充电IC(bq2002)电路的一些常见问题及其回答。需要注意的是,由于BQ2002的具体应用可能因电路设计、电池类型等因素而有所不同,因此在实际应用中应参考具体的数据手册或应用指南以获取准确的信息。

Formosa MS公司的发展小趣事

在电子行业,Formosa MS(美丽微半导体股份有限公司)的发展过程中,有几个关键的故事可以体现其成长历程。以下是根据公开信息整理的五个相关故事:

1. 创立与初期发展

Formosa MS成立于民国八十五年七月(即1996年),由杨照霞女士创办。公司初期便确立了“新速勤俭、创造利润、热诚信义、前瞻未来”的经营理念,致力于在二极管领域进行创新。在整流二极管逐渐转移至中国大陆生产的背景下,Formosa MS选择专注于生产附加值较高的产品,如萧基二极管,这一战略决策为公司后续发展奠定了坚实基础。

2. 产品创新与多元化

随着技术的不断进步,Formosa MS不断推出新产品以满足市场需求。公司现有产品分类广泛,从0.1安培至三十安培的各类二极管均有产制,且产能规划每月超过200KK,涉及焊接、成型、测试等多个生产环节。此外,公司还实现了产品的多元化,包括一般、快速及超快速二极管等多种类型,进一步增强了市场竞争力。

3. 国际化布局

Formosa MS在发展过程中,积极拓展国际市场。公司的销售客户遍布全球,不仅服务于国内半导体制造商的OEM及中间电子零件贸易商,还通过自有品牌行销,赢得了世界各地客户的广泛好评。其应用类别涵盖通信、车用、AI及穿戴装置等多个领域,展现了公司在电子行业中的广泛影响力。

4. 品质至上与服务优先

Formosa MS始终将品质视为企业的生命线,坚持“品质至上、服务优先、顾客满意”的质量政策。公司严格遵循戴明博士的品质理念,致力于提供满足顾客需求的产品与服务。这种对品质的执着追求,使得Formosa MS在电子行业中树立了良好的口碑,赢得了客户的信赖与支持。

5. 应对行业变革与持续创新

面对电子行业的快速变革,Formosa MS始终保持敏锐的洞察力,积极应对市场变化。公司不断投入研发,推动技术创新,以适应行业发展的新趋势。同时,公司还注重人才培养和团队建设,为企业的持续发展提供了有力保障。正是凭借这种持续创新的精神和强大的团队实力,Formosa MS在电子行业中不断取得新的突破和发展。

需要注意的是,由于具体细节可能涉及公司内部的商业秘密,以上故事主要基于公开信息进行概括和整理。如需更详细的信息,建议直接访问Formosa MS的官方网站或查阅相关行业报告。

常忆科技(CHINGIS)公司的发展小趣事

随着科技的飞速发展,常忆科技深知技术创新的重要性。因此,公司不断加大研发投入,引进和培养了一批高素质的研发人员。这些研发人员致力于开发新型的非挥发性内存技术,以满足市场对于更高性能、更低功耗和更小体积的需求。

经过多年的努力,常忆科技成功研发出了一系列具有自主知识产权的新型内存产品。这些产品不仅性能卓越,而且具有极高的可靠性,赢得了众多客户的青睐。技术创新和产品升级成为常忆科技在电子行业中脱颖而出的关键因素。

Diodes公司的发展小趣事

随着科技的快速发展和市场的不断变化,客户需求也在不断更新。为了满足客户不断变化的需求,Diodes公司始终保持敏锐的市场洞察力和创新力。公司不断推出新产品、新技术和新应用方案,以满足客户在性能、可靠性、成本等方面的需求。同时,Diodes还积极与客户沟通交流,了解客户的实际需求和反馈意见,不断优化产品和服务。这些努力使得Diodes能够紧跟市场步伐、满足客户需求,在激烈的市场竞争中保持领先地位。

问答坊 | AI 解惑

~~~~~~~~~~本人第一次参加比赛 求大家帮帮忙啊~~~~~~~~~~

本人参加学校的电子设计比赛 题目不限 可是不知道做点什么啊  求哪位大侠给我个建议 不要太难的 本人上大三 谢谢 最好带资料 在线等 活发邮箱523849997@qq.com 谢谢…

查看全部问答>

电脑反应慢得出奇

我的电脑由于几次突然断电,导致几次非正常关机,结果下午打开后,就反就慢得出奇。开机就得十几分钟。杀毒也打不开,还原时,速度只有9K/MIM。几个小时也还原不了。请问有高手能告诉兄弟如何做吗?谢了。…

查看全部问答>

问一个关于spi的问题,急!!

我们项目要做一个嵌入式的仿真,小弟在看s3c2410的手册的spi时对下面问题极是不懂,哪位高人指点下,不胜感激!! 这是spi的基本编程步骤: 1. Set Baud Rate Prescaler Register (SPPREn). 2. Set SPCONn to configure properly the SPI module ...…

查看全部问答>

可综合与不可综合

一个电路行为可以有多种不同的描述方式,但是不是每一种描述方式都是可被综合的。要是描述方式可以被综合,即可以在物理上可以实现,那么这一种描述方式必须要有实际的硬件电路与之相对应。如:repeat(2)    @(posedge clk);    ...…

查看全部问答>

几种比较实用的工具软件

本帖最后由 paulhyde 于 2014-9-15 09:26 编辑    …

查看全部问答>

IAR C编译器

IAR是否支持C语言直接操作硬件堆栈,或者提供了堆栈操作内部函数?这几天不敢提问了,海量团购贴直接掩埋一切:rose:…

查看全部问答>

12位精度的ADC单片机---MK7A23P

MK7A23P8Bit Microcontroller with ADC 概述MK7A23P是带15 位(11bit+4bit)A/D转换器的RISC高性能8位微控制器。它内部包含2K字节的一次性可编程只读存储器、128字节数据存储器、定时器/计数器、中断、LVR(低电压复位)、I/O 口、比较器和PWM输出 ...…

查看全部问答>

分享 Cadence PCB 16.6网络免费培训

cadence公司于2012年9月25日发布了具有一系列新功能的Cadence 16.6 PCB设计解决方案,用户定制功能增强,模拟性能提高20%, 使用户得以更快、更有预见性地创建产品。 为了让大家更好的了解并学习Cadence 软件,科通将安排资深工程师,提供系列在线 ...…

查看全部问答>