推荐阅读最新更新时间:2024-11-09 23:39
GCC精彩之旅(1)
在为Linux开发应用程序时,绝大多数情况下使用的都是C语言,因此几乎每一位Linux程序员面临的首要问题都是如何灵活运用C编译器。目前Linux下最常用的C语言编译器是GCC(GNU Compiler Collection),它是GNU项目中符合ANSI C标准的编译系统,能够编译用C、C++和Object C等语言编写的程序。GCC不仅功能非常强大,结构也异常灵活。最值得称道的一点就是它可以通过不同的前端模块来支持各种语言,如Java、Fortran、Pascal、Modula-3和Ada等。 开放、自由和灵活是Linux的魅力所在,而这一点在GCC上的体现就是程序员通过它能够更好地控制整个编译过程。在使用GCC编译程序
[单片机]
Linux下开发stm32(一) | 使用gcc-arm-none-eabi工具链编译
1.为什么不是gcc 之前我们花了三篇文章介绍Linux下如何进行C语言编程: Linux C语言编程(上篇) | gcc的使用 Linux C语言编程(中篇) | make的使用 Linux C语言编程(下篇) | gdb的使用 这是为了给接下来的Linux下嵌入式开发打好基础,尽快熟悉Linux下c编程,但是在开发stm32的时候,编译工具链要使用gcc-arm-none-eabi,为什么不是gcc呢?这就要说到linux下的交叉编译了,因为我们要在PC机上编译出可以运行在ARM上的程序,使用gcc编译出的是在PC上运行的程序,所以我们要使用gcc-arm-none-eabi进行交叉编译~ 2.gcc-a
[单片机]
关于GCC中断调用函数名的问题
问: 嗯。。最近学习AVR,我用的编译软件是GCC。。。 觉的网上这个方面的资料还是比较少的,用ICC的比较多。 如我用外部中断时,写中断函数用的中断函数名为 ISR(INTO_vect) 想知道用到其他函数时用的什么函数名!! 在库函数里,找了下没有找到。 答: 还可以按以下路径: WINAVR安装目录- avr- include- avr 可以找到对应各个型号的头文件,比如iom8.h对应mega8,里面有如下一段: #define INT0_vect _VECTOR(1) #define SIG_INTERRUPT0 _VECTOR(1) #define INT1_vect _VECTOR(2)
[单片机]
AVR 单片机与GCC 编程----之二
第二章 存储器操作 2.1 AVR 单片机存储器组织结构 AVR 系列单片机内部有三种类型的被独立编址的存储器,它们分别为:Flash 程序存储器、内部SRAM 数据存储器和EEPROM 数据存储器。 Flash 存储器为1K~128K 字节,支持并行编程和串行下载,下载寿命通常可达10,000 次。 由于AVR 指令都为16 位或32 位,程序计数器对它按字进行寻址,因此FLASH 存储器按字组织的,但在程序中访问FLASH 存储区时专用指令LPM 可分别读取指定地址的高低字节。 寄存器堆(R0~R31)、I/O 寄存器和SRAM 被统一编址。所以对寄存器和I/O 口的操作使用与访问内部SRAM 同样的指令
[单片机]
翻译和修改的AVR-gcc3.3的makefile。(用法:make clean /make all)
#============= MCU选择 =========================== # MCU name MCU = atmega8 #============= 输出格式选择 ====================== # Output format. (can be srec, ihex) FORMAT = ihex #============= 目标文件名(不带扩展名) ============ # Target file name (without extension). TARGET = main #============= 优化级别选择 ====================== # Optimiz
[单片机]
ARM架构下GCC中progma编译指示字
ARM架构下GCC中progma编译指示字 主要说#pragma pack() 1.为什么要内存对齐 2.裸机代码验证ARM9(S3C2440)的默认对齐字节数 (还不能证实) 3.验证奇数地址访问的可行性 (经实现可以看出,没有对奇数地址有特别要求) 4.struct大小
[单片机]
[AVR]使用Gcc编译时各种数据的长度
创建项目时,芯片选择ATMEGA16 各种数据类型长度如下 char 8位 short 16位 int 16位 long 32位 long long 64位 有空再测试下double、float的长度 后来偶然发现gcc提供一个头文件 stdint.h 可以这样定义新的变量 1 uint32_t a;//a是一个32位长无符号整型 2 uint64_t b;//b是一个64位长无符号整型 3 int8_t c;//等价于signed char c 直观,易懂,可移植性强..
[单片机]
科普贴:ICC GCC傻傻分不清?聊一聊编译器那些事儿
eeworld网消息,CPU这东西,大家除了关注工艺、主频、核心数量等规格信息之外,更在意的应该就是性能表现了。反应CPU性能的测试可谓是相当多样,但要说起最权威的,那就不得不提SPEC CPU测试了。 SPEC的全称是Standard Performance Evaluation Corporation,翻译过来是标准性能评估组织,它是一个全球性的第三方非营利性组织,由计算机厂商、系统集成商、大学、研究机构、咨询等多家公司组成,目标是建立、维护一套用于评估计算机系统的标准。 在CPU性能测试上,SPEC CPU 2006是SPEC组织推出的最新版的软件(上一个版本SPEC CPU 2000已经基本没有人用了),同时也是最
[半导体设计/制造]