![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
嵌入式
malcolm_110
这个作者很懒,什么都没留下…
展开
-
Linux 驱动开发之helloworld模块编译、交叉编译
编译是在本地运行、交叉编译是在嵌入式板卡上运行,这个两个编译过程的区别仅仅是Makefile的差异。本文是在Vmware虚拟环境下,Ubuntu系统里进行的测试。一、创建C文件首先创建一个空的文件夹,创建hello.c文件,文件内容如下:#include <linux/init.h>#include <linux/module.h>MODULE_LICENSE("Dual BSD/GPL");static int hello_init(void){printk(原创 2020-10-29 15:17:41 · 8637 阅读 · 0 评论 -
ARM交叉编译器gnueabi、gnueabihf 以及安装配置,helloworld测试
如果我们需要编译一个运行在X86架构上的helloworld程序,只需要在linux系统下执行gcc helloworld.c -o helloworld如果要在X86主机上编译一个在ARM系统上运行的程序,就需要用到交叉编译器。1. 编译器命名规则:交叉编译工具链的命名规则为:arch [-vendor] [-os] [-(gnu)eabi]arch - 体系架构,如ARM,MIPSverdor - 工具链提供商,如飞思卡尔提供的工具简称fsos - 目标操作系统,如linuxeabi -原创 2020-08-27 09:06:55 · 4168 阅读 · 0 评论 -
ARM汇编指令总结--英文全称及功能描述
什么是指令集在计算机的世界里,CPU只能识别二进制的机器码,对于一个32位ARMv7架构来说,每一个指令由32个0或1的组合组成,CPU的设计者会指定一组固定的组合格式,告诉CPU完成什么动作,这组固定格式的0或1的组合就是指令集。对于程序员来说,阅读二进制的机器码是一个相当大的挑战,为了便于编写程序,最早的汇编语言就诞生了,比如ADD R0,R1,R2这句话的的作用是寄存器R1、R2里的值求和后,存储到R0里面。汇编语言通过编译器的编译,转换成CPU能够识别的二进制机器码。ARM指令集版本历史原创 2020-06-05 17:14:58 · 2518 阅读 · 0 评论