1.为什么要用交叉编译工具

因为我们的的宿主机是Linux系统,但是我们编译出来的程序想在嵌入式系统中运行,ARM可以写裸机程序,不一定都上系统,所以需要在Linux主机上编译出可以在AMR芯片上跑的程序,就得用arm-linux-gcc交叉编译器。

2.反汇编工具

arm-linux-objdump 在嵌入式开发中大部分程序是使用C语言编写的,但是在遇到一些问题的时候,需要将C语言编译生成的可执行程序反汇编,根据汇编程序排查错误。

使用方法:arm-linux-**gnueabi-**objdump -d hello > arm_hello.s

3.通过wsl访问Windows系统

Linux系统中/mnt目录专门存放挂载文件,用wsl这种Windows下的Linux子系统可以直接在Ubuntu的命令行中输入cd /mnt 就可以进入Windows系统的目录,可以进行复制、删除、增添,如果权限不够可以升成root再操作。

4.通过Windows系统访问wsl

首先启动需要访问的Linux发行版,然后打开资源管理器,在地址栏输入\\wsl$,回车即可看见各Linux发行版挂载在本地网络的目录,也可以进行添加、删除、复制,可视化界面操作起来特别容易。

5.wsl调用notepad

在Linux系统中经典的编辑代码方式还是VI,但是为了方便我们新手操作,可以直接在wsl上调用Windows上的notepad或者notepad2,notepad就是我们常用的记事本,它就放在C:/Windows/system32目录下,下载好notepad2.exe也需要放到这个目录下。

使用方法:在wsl命令行中输入notepad2.exe 或者 notepad2.exe [待编辑文件]

6.复杂命令简单化命名

操作方法:在Ubuntu的命令行中 vi .bashrc文件,进入后可以在里面可以看到alias mv=’mv -i’等,实际上就是把mv -i 简化为了mv。我们可以把交叉编译的长命令化解。

例如:

\# 编辑源程序时输入:wn *.salias wn='notepad.exe'\#增加交叉编译:arm-linux-gnueabi-gcc --static 别名:arm *.ssrc=hello.salias arm='arm-linux-gnueabi-gcc --static ${src:+$1} -o ttt'\#增加仿真器:qemu-arm-static 别名:runalias run='qemu-arm-static ttt ; rm ttt'

7.通过VScode访问wsl

  1. 在VScode中安装Remote-WSL拓展

  1. Wsl中要安装有g++和gdb才能编译C/C++
sudo apt-get install gdbsudo apt-get install g++
  1. 在VScode中打开“远程资源管理器”,进入后选择wsl,它会自动检测到系统中的wsl,这样就更方便编辑wsl中的文件了。

初识ARM嵌入式系统相关推荐

  1. ARM嵌入式系统malloc的实现(C源码)

    在ARM嵌入式系统实现malloc内存分配机制. 在ARM cpu上验证通过. ps:也可在pc ubuntu linux进行验证 #include "include/lib_replace ...

  2. 8、ARM嵌入式系统:UART初始化

    一.UART概述 百度上UART的定义:通用异步收发传输器(Universal Asynchronous Receiver/Transmitter),通常称作UART.它将要传输的资料在串行通信与并行 ...

  3. 7、ARM嵌入式系统:LCD/数码管/OLED初始化

    一.LCD/数码管模块在板子上的位置 LCD和数码管在板子上都分别有一个插槽. 二.LCD/数码管初始化代码 //SMG init void SMG_Init() { /* PORTB and POR ...

  4. 网络上所谓的《ARM嵌入式系统入门最好的文章》

    一 首先说说ARM的发展 可以用一片大好来形容,翻开各个公司的网站,招聘里面嵌入式占据了大半工程师职位. 广义的嵌入式无非几种:传统的什么51.AVR.PIC称做嵌入式微控制器:ARM是嵌入式微处理器 ...

  5. [ARM嵌入式系统开发]第一章之嵌入式系统的软硬件

    本章的最后,通过描述ARM为核心的嵌入式系统,来介绍了嵌入式系统的软件和硬件构成和结构.这里根据这部分的介绍以及其他的文章,描述下通用的嵌入式系统的软件和硬件.     首先来说下硬件,书中说,包含有 ...

  6. 嵌入式:ARM嵌入式系统开发流程概述

    文章目录 嵌入式开发的具体过程 开发流程图 嵌入式软件开发环境 交叉开发环境 远程调试结构图 嵌入式应用软件开发的基本流程 软件模拟环境 目标板与评估板 嵌入式软件开发的可移植性和可重用性 嵌入式开发 ...

  7. 移植tcpdump到ARM嵌入式系统

    移植tcpdump到嵌入式系统 tcpdump和libpcap的下载链接:Home | TCPDUMP & LIBPCAP 百度网盘下载链接:https://pan.baidu.com/s/1 ...

  8. [ARM嵌入式系统开发]第一章之Dhrystone

    在书的第一章开头部分,作者提到了"最成功的ARM内核之一ARM7TDMI,具有最高120 Dhrystone MIPS的性能.高的代码密度和低功耗等特性,使它成为移动嵌入式设备的最佳选择&q ...

  9. ARM嵌入式系统上OpenCL测试

    By Toradex Giovanni Bauermeister 1). 简介 相比曾经,如今科技设备对处理性能和速度要求越来越高.为了应对这种技术需求,许多公司发明了不少方法来获得更好的处理性能.例 ...

  10. openssh arm linux 编译,openssh编译安装到ARM嵌入式系统中

    目录 一.SSHD编译(此步骤在虚拟机上执行) 1.1 在/root/目录下创建ssh目录 1.2 交叉编译zlib 1.3交叉编译openssl 1.4交叉编译openssh 二.移植(此步骤在开发 ...

最新文章

  1. C# MySQL数据库的备份 还原 初始化
  2. 慢系统调用与信号中断
  3. asp.net mvc 接入阿里大于 短信验证码发送
  4. dataguard从库数据库丢失恢复例子(模拟所有的控制文件)
  5. java中随机数边界问题,java 简单Dice问题(随机数的运用)
  6. TS流解析 二 *****
  7. 基于Ext Core的包含校验功能的表单提交扩展Ext.ux.submit
  8. PHP疗法,人体穴位疗法的秘密-咔咔养生网
  9. ashx比较完美的权限处理(适合页面,不适合安卓远程读取接口)
  10. 如何将网易云ncm格式转换为mp3格式
  11. cad2004教程_AutoCAD视频教程!0基础到大神,室内建筑机械电气家具土木工程园林景观,七大行业方向助你成为精英!...
  12. Angular Mock Data
  13. [TJOI2019]唱、跳、rap和篮球_生成函数_容斥原理_ntt
  14. MATLAB中使用plotyy绘制双纵坐标图及坐标轴设置
  15. 解决“任务管理器已被系统管理员停用”的问题
  16. bugku misc QAQ
  17. 打造个人的云技术乐园
  18. android如何切换主题背景图片,安卓怎么更换主题 安卓手机更换壁纸与主题教程...
  19. 【PaddleNLP实战】对话意图分类方案
  20. 要把服务器架在太空的海盗湾,为什么能活十五年?

热门文章

  1. 单例模式(懒汉模式)
  2. putty使用ssh登录时出现Access denied
  3. 电视html转vga没有声音,怎样才能让HDMI转VGA连接电视能播放声音?
  4. Android------APP FPS测试
  5. STM32机器人控制开发教程No.2 霍尔编码器电机测速以及增量式PID控制(基于HAL库)
  6. MongoDB数据同步工具之 MongoShake
  7. 揭秘百度新治理结构:马东敏的谣言与李彦宏的用人观
  8. abb机器人编程指令写字_ABB机器人编程指令与函数
  9. react native 直传 阿里云 OSS云存储
  10. R语言风玫瑰图绘制(附代码)