草庐IT

centos7安装glibc_2.28和gcc 8.2

centos7默认的gcc版本是4.8.5,无法编译高版本的glibc2.28,需要升级到gcc8.2版本注:gcc高版本和glibc2.28不兼容##查看自带默认的glibcstrings/lib64/lib.so.6|grepGLIBC#查看glibc软件版本号rpm-qa|grepglibc升级gcc升级glibc1.安装glibcwgethttps://ftp.gnu.org/gnu/glibc/glibc-2.27.tar.gztar-xvfglibc-2.27.tar.gz##编译安装#进入glibc-2.27目录中cdglibc-2.27#创建build目录mkdirbuild#

centos7安装glibc_2.28和gcc 8.2

centos7默认的gcc版本是4.8.5,无法编译高版本的glibc2.28,需要升级到gcc8.2版本注:gcc高版本和glibc2.28不兼容##查看自带默认的glibcstrings/lib64/lib.so.6|grepGLIBC#查看glibc软件版本号rpm-qa|grepglibc升级gcc升级glibc1.安装glibcwgethttps://ftp.gnu.org/gnu/glibc/glibc-2.27.tar.gztar-xvfglibc-2.27.tar.gz##编译安装#进入glibc-2.27目录中cdglibc-2.27#创建build目录mkdirbuild#

(GCC) GCC 结构体内存对齐规则

GCCstruct内存对齐规则结构体起始地址需要被其中成员类型最大的大小所整除;每个成员起始地址需要被其类型大小所整除,如int32_t类型成员内存对齐到4B;如果成员有子结构体,则该子结构体成员起始地址要被其内部成员类型最大的所整除。如structa里存有structb,b里有char,int,double等元素,那b应该从8的整数倍开始存储;如果成员有数组,则该数组成员对齐依旧按POD类型,如uint8_tarr[4],其对齐依旧按1B;如果成员有union,则按可以被union中子成员类型最大所整除处理;整个结构体大小,必须要能被成员中类型最大所整除,不满足则GCC自动填充。结构体大小计

(GCC) GCC 结构体内存对齐规则

GCCstruct内存对齐规则结构体起始地址需要被其中成员类型最大的大小所整除;每个成员起始地址需要被其类型大小所整除,如int32_t类型成员内存对齐到4B;如果成员有子结构体,则该子结构体成员起始地址要被其内部成员类型最大的所整除。如structa里存有structb,b里有char,int,double等元素,那b应该从8的整数倍开始存储;如果成员有数组,则该数组成员对齐依旧按POD类型,如uint8_tarr[4],其对齐依旧按1B;如果成员有union,则按可以被union中子成员类型最大所整除处理;整个结构体大小,必须要能被成员中类型最大所整除,不满足则GCC自动填充。结构体大小计

HK32F030MF4P6的Linux GCC工具链开发环境

HK32F030MF4P6简介航顺的HK32F030MF4P6,TSSOP20封装,ArmCortexM0内核,内建32MHz时钟,16KFlash,2KRAM(实际上可用的有4K).这个型号的目的应该是硬件替换STM8S003,管脚和STM8S003兼容(和STM32F030兼容的型号是HK32F030F4P6).HK32F030MF4P6可能是当前市场上最便宜的CortexM0芯片了,单价0.9元不到.一个32位的ArmM0芯片,烧录能用普通编程器,参数也还可以,常用的外设I2C,SPI,UART,PWM,ADC都有,甚至还有I2S,性价比相当不错.合宙也在放风要出1元的M0,配置4KRA

HK32F030MF4P6的Linux GCC工具链开发环境

HK32F030MF4P6简介航顺的HK32F030MF4P6,TSSOP20封装,ArmCortexM0内核,内建32MHz时钟,16KFlash,2KRAM(实际上可用的有4K).这个型号的目的应该是硬件替换STM8S003,管脚和STM8S003兼容(和STM32F030兼容的型号是HK32F030F4P6).HK32F030MF4P6可能是当前市场上最便宜的CortexM0芯片了,单价0.9元不到.一个32位的ArmM0芯片,烧录能用普通编程器,参数也还可以,常用的外设I2C,SPI,UART,PWM,ADC都有,甚至还有I2S,性价比相当不错.合宙也在放风要出1元的M0,配置4KRA

GCC Arm 12.2编译提示 LOAD segment with RWX permissions 警告

使用GCCArm工具链开发的项目,在升级到arm-gnu-toolchain-12.2之后,编译出现警告arm-gnu-toolchain-12.2.mpacbti-bet1-x86_64-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/12.2.0/../../../../arm-none-eabi/bin/ld:warning:Build/app.elfhasaLOADsegmentwithRWXpermissions关于LOADsegmentwithRWXpermissions警告这是Binutils2.39引入的一个新的安全类型的警告,GCC在升级

GCC Arm 12.2编译提示 LOAD segment with RWX permissions 警告

使用GCCArm工具链开发的项目,在升级到arm-gnu-toolchain-12.2之后,编译出现警告arm-gnu-toolchain-12.2.mpacbti-bet1-x86_64-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/12.2.0/../../../../arm-none-eabi/bin/ld:warning:Build/app.elfhasaLOADsegmentwithRWXpermissions关于LOADsegmentwithRWXpermissions警告这是Binutils2.39引入的一个新的安全类型的警告,GCC在升级

HC32L110(三) HC32L110的GCC工具链和VSCode开发环境

目录HC32L110(一)HC32L110芯片介绍和Win10下的烧录HC32L110(二)HC32L110在Ubuntu下的烧录HC32L110(三)HC32L110的GCC工具链和VSCode开发环境HC32L110(四)HC32L110的startup启动文件和ld连接脚本HC32L110(五)Ubuntu20.04VSCode的Debug环境配置以下介绍Ubuntu下搭建用于HC32L110系列MCU的GCC工具链和VSCode的开发环境.仓库地址:https://github.com/IOsetting/hc32l110-template如果转载,请注明出处.硬件准备JLink-OB

HC32L110(三) HC32L110的GCC工具链和VSCode开发环境

目录HC32L110(一)HC32L110芯片介绍和Win10下的烧录HC32L110(二)HC32L110在Ubuntu下的烧录HC32L110(三)HC32L110的GCC工具链和VSCode开发环境HC32L110(四)HC32L110的startup启动文件和ld连接脚本HC32L110(五)Ubuntu20.04VSCode的Debug环境配置以下介绍Ubuntu下搭建用于HC32L110系列MCU的GCC工具链和VSCode的开发环境.仓库地址:https://github.com/IOsetting/hc32l110-template如果转载,请注明出处.硬件准备JLink-OB