Linaro

GCC Linaro cross compile fails on linker step on a Windows host

一个人想着一个人 提交于 2021-01-29 09:26:33
问题 I want to build an ARM application(just a simple main function) on Windows host using GCC Linaro toolchains version 7.4.1. Compilation is OK, my .o files are created but on linking step I get the following errors(tested on different computers and result is same) Errors start from locale.o file... But that /home/tcwg-builds/.. directory is not related to my computer paths... Building target: arm_cpp Invoking: Cross G++ Linker arm-eabi-g++ -o "arm_cpp" ./src/arm_cpp.o c:/users/yunus/desktop

使用Buildroot为I.MX6制作根文件系统

烈酒焚心 提交于 2021-01-05 16:50:59
1.引言 接触Freescale/NXP的I.MX6处理器大概有了两年多的时间,对于一个最初玩MCU的我来说,真是面临了很多的挑战。最让我感到郁闷和崩溃的是那个官方的基于Yocto的开发环境,搭建它要求真是太高了,机器得有上百G的空间,Ubuntu系统版本也有要求,还要能翻墙等等,另外还得去理解Yocto的架构。我在尝试过两次之后准备彻底的放弃研究它了。前两天由于工作需要,不得不再一次面对要自己去编译文件系统的问题,碰巧在网上看到有人用Buildroot弄成功过,我尝试了下,没太费力气就成功了,Buildroot比Yocto简单太多了。特以此文记录下,希望对大家有所帮助。 2.环境介绍 对本文涉及到的硬件和软件环境统一做个说明。 2.1.硬件 1)我使用的是米尔科技的I.MX6ULL的小板子,当时参加一个网上的活动,免费送我的,板子做的小巧精致,和以前Freescale的Freedom开发板很像,赞,携带和使用太方便了。大家如果用的是I.MX其他系列,本文内容同样适用。 2)一根Micro USB接口线,用于给小板供电、同时兼下载程序用,这个设计很好,不用单独再接电源。 3)一个USB转TTL串口,用于接调试串口,登录系统用。 4)一根网线,用于连接PC和板子,验证ssh和scp功能。 2.2.软件 1) http://down.myir-tech.com/MYS-6ULX/

learning armbian steps(8) ----- armbian 源码分析(三)

怎甘沉沦 提交于 2021-01-02 15:18:51
在lib/main.sh当中 13 if [[ $(basename $ 0 ) == main.sh ]]; then 14 echo " Please use compile.sh to start the build process " 15 exit - 1 16 fi 17 18 # default umask for root is 022 so parent directories won ' t be group writeable without this 19 # this is used instead of making the chmod in prepare_host() recursive 20 umask 002 21 22 # destination 23 DEST=$SRC/ output 24 25 TTY_X=$(($(stty size | awk ' {print $2} ' )- 6 )) # determine terminal width 26 TTY_Y=$(($(stty size | awk ' {print $1} ' )- 6 )) # determine terminal height 27 13-16行,由于 main.sh脚本的执行需要在compile.sh内 被调用,不可以直接通过lib/main.sh

Linux设备模型-设备模型介绍

给你一囗甜甜゛ 提交于 2020-12-27 12:39:17
Linux是一个宏内核,包括了各类设备的驱动。为了减少设备多样性带来的Linux内核驱动开发的复杂度,以及处理热插拔和电源管理等,在Linux内核中引入了设备模型,抽象出一套标准的数据结构和接口,简化Linux内核驱动的开发。 Linux内核设备模型位于 /sys 目录下,sysfs文件系统针对设备模型向用户空间展示驱动设备的层次结构。 root@linaro-alip:/sys# ls block bus class dev devices firmware fs kernel module power rk8xx Linux内核设备模型包括:总线(BUS)、设备(Device)、驱动(Driver)和设备类(Class)。 1、总线(BUS) 用于连接设备(Device)和驱动(Driver),提供与总线相关的设备和驱动注册方法。 bus 位于linux系统的 /sys 目录下,包含了内核中各种总线类型的平面目录布局。 root@linaro-alip:/sys/bus# ls amba container i2c mipi-dsi pci_express serio workqueue cec cpu iio mmc platform snd_seq clockevents event_source mdio_bus nvmem scsi spi clocksource

使用Buildroot为I.MX6制作根文件系统

荒凉一梦 提交于 2020-12-24 06:34:48
1.引言 接触Freescale/NXP的I.MX6处理器大概有了两年多的时间,对于一个最初玩MCU的我来说,真是面临了很多的挑战。最让我感到郁闷和崩溃的是那个官方的基于Yocto的开发环境,搭建它要求真是太高了,机器得有上百G的空间,Ubuntu系统版本也有要求,还要能翻墙等等,另外还得去理解Yocto的架构。我在尝试过两次之后准备彻底的放弃研究它了。前两天由于工作需要,不得不再一次面对要自己去编译文件系统的问题,碰巧在网上看到有人用Buildroot弄成功过,我尝试了下,没太费力气就成功了,Buildroot比Yocto简单太多了。特以此文记录下,希望对大家有所帮助。 2.环境介绍 对本文涉及到的硬件和软件环境统一做个说明。 2.1.硬件 1)我使用的是米尔科技的I.MX6ULL的小板子,当时参加一个网上的活动,免费送我的,板子做的小巧精致,和以前Freescale的Freedom开发板很像,赞,携带和使用太方便了。大家如果用的是I.MX其他系列,本文内容同样适用。 2)一根Micro USB接口线,用于给小板供电、同时兼下载程序用,这个设计很好,不用单独再接电源。 3)一个USB转TTL串口,用于接调试串口,登录系统用。 4)一根网线,用于连接PC和板子,验证ssh和scp功能。 2.2.软件 1) http://down.myir-tech.com/MYS-6ULX/

(转)Linux 系统设置 : dmesg 命令详解

给你一囗甜甜゛ 提交于 2020-11-26 09:02:19
原文:https://blog.csdn.net/yexiangCSDN/article/details/80683246 https://www.cnblogs.com/duanxz/p/3477095.html------- Linux下dmesg命令处理故障和收集系统信息的7种用法 目录: 《 syslog之一:Linux syslog日志系统详解 》 《 syslog之二:syslog协议及rsyslog服务全解析 》 《 syslog之三:建立Windows下面的syslog日志服务器 》 《 Linux下dmesg命令处理故障和收集系统信息的7种用法 》 dmesg’命令显示linux内核的环形缓冲区信息,我们可以从中获得诸如系统架构、cpu、挂载的硬件,RAM等多个运行级别的大量的系统信息。当计算机启动时,系统内核(操作系统的核心部分)将会被加载到内存中。 ‘dmesg’命令显示linux内核的环形缓冲区信息,我们可以从中获得诸如系统架构、cpu、挂载的硬件,RAM等多个运行级别的大量的系统信息。当计算机启动时,系统内核(操作系统的核心部分)将会被加载到内存中。在加载的过程中会显示很多的信息,在这些信息中我们可以看到内核检测硬件设备。 dmesg 命令的使用范例 ‘dmesg’命令设备故障的诊断是非常重要的。在‘dmesg’命令的帮助下进行硬件的连接或断开连接操作时

TinkerBoard-S 上手体验

旧城冷巷雨未停 提交于 2020-11-23 09:55:43
详细请参考官网教程:https://www.asus.com.cn/Single-Board-Computer/Tinker-Board-S/HelpDesk_Download/ 个人试水教程如下: 一、系统启动方式 1、从TF卡启动系统 ①到华硕派官网下载最新版的镜像 http://tinkerboarding.co.uk/wiki/index.php/TinkerOS 或 https://www.asus.com.cn/Single-Board-Computer/Tinker-Board-S/HelpDesk_Download/ ②下载镜像烧录工具Etcher(或Win32DiskImager),用于刷镜像到TF卡 Etcher ( http://etcher.io/ ) Win32DiskImager ( http://sourceforge.net) 【注意事项】 ①最好用高速TF卡,4G+空间 ②如果tf卡非空要提前备份好资料,一旦格式化数据将被全部清空。如果tf卡之前刷过其他系统的,也无需再格式化,直接flash就全部清空并分好区。 ③flash后的的TF卡,不能再用作为存储其他东西使用,烧录后识别的空间变小是正常现象。 ④如果需要恢复作为原来的TF卡,下载bootsector.img,把bootsector.img镜像烧写入TF卡,成功后会提示TF卡需要格式化

迅为IMX6ULL开发板搭建交叉编译环境

自古美人都是妖i 提交于 2020-08-08 16:54:32
基于迅为IMX6ULL开发板 我们在第三章讲解了如何在 Linux 下进行 C 程序开发,我们使用的 gcc 编译器进行代码的编译,编译完,直接在 X86 架构下的 PC 下运行的。我们学习的 i.MX6 ULL 是 arm 架构的,所以我们需要使用支持 arm 的编译器并且该编译器在 X86 架构下运行,这个编译器我们通常称为交叉编译器。arm 交 叉 编 译 器 有 很 多 种 , 我 们 使 用 Linaro 公 司 的 arm 交 叉 编 译 器 , 下 载 地 址 : releases.linaro.org/components/toolchain/binaries/4.9-2017.01/arm-linux-gnueabihf/ 如图 4.3.1 所示 在图 4.3.1 中有多种 arm 交叉编译器,我们需要根据安装的 Ubuntu 系统来选择对应的版本下载:如果安装的是 Ubuntu 32 位的系统我们需要下载 gcc-linaro-4.9.4-2017.01-i686_arm-linux-gnueabihf.tar.xz; 如果安装的 Ubuntu 是 64 位系统我们需要下载gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf.tar.xz。这两种版本的交叉编译器我们已经放在了光盘资料的“i.MX6UL

新手搭建 x-boot 编译环境笔记

橙三吉。 提交于 2020-05-09 09:51:01
1、需要先搭建交叉编译环境,即制作交叉编译工具链,这个过程比较复杂,所以我在这里使用别人做好的交叉编译工具链。 2018年8月27日15:03:37 2、X-boot 源码github地址: https://github.com/xboot/xboot 3、交叉编译工具链下载地址:(下面截图在上面的链接中) 因为我 的硬件是 :10块钱一个月的 云服务器 ,因此下载 下面三个文件: 4、安装教程编译环境,根据第二步 链接 里面的 教程,先解压三个文件。 tar -xvf gcc-linaro-5.3.1-2016.05-x86_64_aarch64-elf.tar.xz tar -xvf gcc-linaro-5.3.1-2016.05-x86_64_arm-eabi.tar.xz tar -xvf gcc-linaro-5.3.1-2016.05-x86_64_arm-linux-gnueabihf.tar.xz 注: 第一个 是编译 raspberrry 使用的 第三个 是编译V3S使用的 5、使用git命令下载x-boot源码,git clone https://github.com/xboot/xboot.git 6、编译 x-boot 源码,教程地址: https://github.com/xboot/xboot/blob/master/documents/xboot

Ubuntu14.04(64位)下gcc-linaro-arm-linux-gnueabihf交叉编译环境搭建

℡╲_俬逩灬. 提交于 2020-05-08 19:48:02
转自:https://www.cnblogs.com/flyinggod/p/9468612.html 1. 下载 gcc-linaro-arm-linux-gnueabihf-4.9.tar.gz 下载地址参考: http://blog.csdn.net/lg1259156776/article/details/52281323 2. 解压,并放置在自己需要的文件夹内 1 sudo tar –zxvf gcc-linaro-arm-linux-gnueabihf-4.9.tar.gz 3. 配置环境变量PATH 1. 编辑bash.bashrc文件 1 sudo gedit ~/.bashrc 2. 在文件中添加变量 1 export PATH=$PATH:你的路径/gcc-linaro-arm-linux-gnueabihf-4.9/bin 3. 更新环境变量 1 source ~/.bashrc 4. 检查环境变量是否加入成功 1 echo $PATH 下方出现刚添加的PATH即为成功 4. 运行arm-linux-gnueabihf-gcc -v出现bash: /usr/local/arm/ gcc-linaro-arm-linux-gnueabihf-4.9/bin/arm-linux-gnueabihf-gcc:No such file or directory错误