嵌入式linux应用开发完全手册(一)

2023-10-29

第一篇 嵌入式Linux开发环境构建

1.1.2 嵌入式发展

  • SCM(Single Chip Microcomputer)单片机;
  • MCU(Micro Controller Unit)微控制器;
  • SoC(System on a Chip):系统级芯片,在一个芯片上由于广泛使用预定制模块IP(Intellectual Property)而得以快速开发的集成电路;

1.2 基于ARM处理器的嵌入式Linux系统

1.2.1



1.2.2 嵌入式操作系统:

  • 嵌入式Linux:开源免费,易于移植,资源丰富,硬件支持广泛,缺点:实时性不足;
  • VxWork:
  • Windows CE:
  • uC/OS-II;等

2.1 PC和嵌入式设备交叉开发模式

  1. 在主机上编译Bootloader, 然后通过JTAG烧入单板;
  2. 在主机上编译嵌入式Linux内核,通过BootLoader烧入单板或直接启动;
  3. 在主机上编译各类应用程序,单板启动内核后通过NFS允许它们,经过验证后再烧入单板;

2.1.2 目标板要求



2.2 软件环境构建

2.2.1 主机Linux操作系统安装:通过虚拟机安装Linux系统;

2.2.2 主机Linux操作系统网络配置

  1. VMware提供4种网络连接方式:网桥网络(Bridged),网络地址翻译网络(NAT), 仅为主机网络(Host-only), 和客户网咯。
  2. 安装配置FTP,SSH和NFS服务

2.2.4 U-Boot,Linux内核,根据busybox创建的文件系统这3部分构成了基本的,最小的嵌入式系统 ;


第三章 嵌入式编程基础知识

3.1 交叉编译工具选项介绍:arm-linux-gcc

3.2.1 Makefile规则


3.2.2 Makefile常用函数

  1. 字符串替换和分析函数 : subst, patsubst, strip, findstring, filter, filter-out, sort,  
  2. 文件名函数 : dir, notdir, suffix, basename, addsuffix, addprefix, wildcard,
  3. 其他函数 : foreach, if-then, origin, shell,

3.3.1 基本汇编指令

  1. 相对跳转指令 : b, bl,
  2. 数据传送指令mov,地址读取伪指令ldr,
  3. 内存访问指令:ldr, str, ldm, stm, 
  4. 加减指令:add,sub
  5. 程序状态寄存器的访问指令:msr, mrs, 





第四章 windows和linux环境下工具和命令介绍

Windows工具:

  • 4.1.1 代码阅读编辑工具:Source Insight,
  • 4.1.2 文件传输工具:Cuteftp
  • 4.1.3 远程登录工具:SecureCRT, 支持多种协议如SSH2, SSH1, Telnet, Serial等.
  • 4.1.4 TFTP服务器软件:Tftpd32,一款轻便的DHCP, TFTP, SNTP和Syslog服务器软件,

Linux工具和命令:

  • 4.2.1 代码阅读编辑工具:KScope;
  • 4.2.2 远程登录工具:C-kermit;
  • 4.2.3 编辑命令vi;
  • 4.2.4 查找命令grep, find命令;
  • 4.2.5 在线手册查看命令man: man [section] name

    

  • 4.2.6 其他命令:tar, diff, patch

    tar : tar命令具有打包、解包、压缩、解压缩功能,如"tar czf dirA.tar.gz dirA";

    diff, patch : diff命令常用来比较文件、目录,也可以用来制作补丁文件;








本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

嵌入式linux应用开发完全手册(一) 的相关文章

  • SRAM、DRAM、硬盘、ROM、RAM、EPROM、FLASH区别和联系

    SRAM和DRAM的区别和联系 电脑中的内存属于DRAM CPU中的二级缓存属于SRAM 存储原理 RAM Random Access Memory 随机存取存储器 主要的作用就是存储代码和数据供CPU 在需要的时候调用 但是这些数据并不是
  • win7上搭建android开发环境使用appium自动化测试android应用(一)

    如何通过appium在win7上使用android模拟器测试android应用 本编文章参考了大量网络现存文章 并根据自己的实际情况编写 希望对想用appium的初学者能有所帮助 一 为什么选择appium 你不需要以任何方式重新编译或者修
  • Android Socket 服务器本地发送图片给客户端

    第一步服务端 public static void main String arges 服务器发送图片给客户端 new Thread Override public void run System out println 发送图片信息 Se
  • Android Studio 入门笔记 (二) Activity 和 Application 简介

    Activity用于提供可视化用户界面的组件 可以与用户进行交互完成某项任务 例如拨号 拍照 和 发送e mail等 Activity是Android应用程序的基本组成单位 每一个Activity被赋予一个窗口 用于绘制用户界面 一个Act
  • 区块链技术系列(3)- Fabric基础架构原理

    前言 对于区块链方面多技术 我还是建议大家多看英文文档 多利用Google来搜索技术文章 怎么搭建自己专属V P N来访问Google 请看我之前发的文章 新人如何快速搭建自己的个人网站以及自己专属V P N代理 Linux基金会于2015
  • c++Lab-虚函数

    c Lab 虚函数 里氏转换原则 c 的虚函数 虚函数的实现机制 去掉virtual关键字 获取普通函数和虚函数的地址 机制 里氏转换原则 原文是派生的子类可以用于直接替代其基类 这个是一个很有意思也很常用的原则 当然也很重要 一般在面向对
  • NBIOT连接阿里云控制台(MQTT连接阿里云控制台)

    首先使用MQTT工具连接阿里云平台进行测试之后再使用NBIOT连接控制台 这里主要讲解MQTT连接阿里云的步骤 1 注册或登录阿里云账号 自行前往阿里云官网注册 2 进入物联网界面 首先点击阿里云旁边1位置的选项进入如下界面 找到物联网IO
  • HTTP 请求和 RPC 调用

    rpc字面意思就是远程过程调用 只是对不同应用间相互调用的一种描述 实现方式可以是tcp和http 这里我说一种rpc实现 可以对照dubbo rpc最关键的地方有请求体的封装 响应体的封装以及客户端调用的封装 求体 服务类class 一般
  • 基于Android的视频分享平台的设计与实现

    基于Android的视频分享平台的设计与实现 摘 要 短视频平台是以特定群众为目标的差异化群体定位工具 其利用自身的便捷性可以实现视频的随时拍摄和随时上传 可以产生亚文化圈的萌芽 这种开放便利的特性在吸引了广大用户的同时 也在一定程度上解决
  • 密码学理论11:公钥加密

    公钥加密概述 一方 接收方 生成一对密钥 pk sk 分别称为公钥和私钥 发件人使用公钥加密消息 接收方使用私钥解密生成的密文 当 Alice 得知 Bob 想与她通信时 她可以生成 pk sk 假设她还没有这样做 然后将 pk 明文发送给
  • python读取中编码错误(illegal multibyte sequence )

    读取中文txt文件时 经常会出现 gbk codec can t decode bytes in position 31023 illegal multibyte sequence 主要讲一种情况就是文章中含有utf 8或gbk无法编码的字
  • java学习总结(三),socket和NIO

    Socket 概念 两个程序 进程 通过一个双向通信连接实现数据交换 这个双向连接的一端是一个socket 套接字 分类 1 面向连接 TCP 2 面向无连接 udp 结构 每一个socket都是由ip地址和端口号唯一确定的 生命周期 打开
  • Windows10家庭版使用LxRunOffline工具迁移子系统和docker发行版到其他盘符防止系统盘爆满

    1 下载LxRunOffline工具 2 解压到一个自己平时安装软件的目录 并配置环境变量 重启电脑 打开命令行工具 输入LxRunOffline 如果显示下面的提示证明已经安装成功了 c 2019 Microsoft Corporatio
  • springboot整合shiro

    文章目录 springboot 整合shiro 一 shiro是什么 二 与springboot的整合 1 前期准备 2 ShiroConfiger配置类 3 过滤 拦截 4 认证 5 授权 6 注销 7 显示问题 登录 注销同时显示 无权
  • GitHub新手使用教学(从安装到使用)

    一 安装Git for Windows 又名msysgit 下载地址 https git for windows github io 在官方下载完后 安装到Windows Explorer integration的时候 将选项中将 Git
  • successfulHomework_1

    Re库 1 学习链接 https zhuanlan zhihu com p 135862699 folium库 1 学习链接A https blog csdn net weixin 43903639 article details 1138
  • Fedora 网络配置

    运行 vim etc sysconfig network scripts ifcfg eth0 修改文件如下 具体IP地址及网关根据自己要求修改 DEVICE eth0 ONBOOT yes BOOTPROTO static IPADDR
  • Taro如何打包Android apk?

    首先 我们使用使用命令创建模板项目 创建的命令如下 taro init myApp 然后 使用 yarn 或者 npm install安装依赖包 并使用下面的命令编译Taro项目 yarn dev rn 启动后会开启一个监听的进程 不过 细
  • Blender学习笔记(基于辣椒酱教程)

    第一节课 安装与配置 主界面 1 推荐使用 zip版本 解压在纯英文路径 2 简体中文 3 如果想进一步翻译 使用 全局翻译 的翻译器 有下载 4 界面顶部标签英文改中文 双击命名 界面 建模 雕刻 UV编辑 纹理绘制 着色器 动画 渲染

随机推荐

  • 我的进程去哪儿了,谁杀了我的进程

    曾经在我眼前 却又消失不见 这是今天的第六遍 一段感情 我们希望它能够天长不久 越稳定越好 最怕的就是中途夭折 无疾而终 即使不能到海枯石烂的一天 我们也希望好聚好散 大家理智的告别 然后笑着活下去 况且 我们时候 我们只是希望给这段感情按
  • 2021-11-08 移位 曲线 转换 统计

    1 status 0xff 255 溢出 矩阵阀值 0xFF 分辨率 ecu信号扫描间隔 50ms 2 对应 参数判断 增加 状态 颗粒度扫描限制 方程代入参数说明 发动机负荷 engload 高负荷时长 两点间有限时长limT1 指定车速
  • 神经架构搜索在视频理解中研究进展的综述

    作者 Michael S Ryoo 研究员与 AJ Piergiovanni 学生研究员 Google 机器人团队 来源 TensorFlow ID TensorFlow official 视频理解一直是项颇具挑战性的难题 视频中包含时空数
  • linux软路由ospf,深入解析使用Linux+Zebra构建软路由系统

    Zebra的基本设置 Zebra无后台交互程序是实实在在的路由管理程序 它控制着其它的软件模块 同时还提供与客户交互的主端口 Zebra RPM套件中包括一个完整的参考设置文件 但是 我们只需要建立一个包括以下内容的 etc zebra z
  • C++开源程序库

    1 系统和网络编程库 ACE 除了ACE之外 还有很多系统和网络编程方面的程序库 比如在线程库方面 还有ZThread boost thread 如果放大到C C 领域 还有APR 还有CII 在文件和目录操作方面 boost也有相应的组件
  • HTML+CSS+JS学习(持续更新中)

    文章目录 HTML 1 文档声明 2 HTML5的基本结构 3 字符实体 4 meta标签 5 语义标签 5 1基础的几个 5 2HTML5新增的标签 6 行内元素和块元素 7 内容修正 8 布局标签 9 列表 10 超链接 10 1tar
  • Allegro如何查看走线的宽度

    1 设置想要显示的单位 mm或者mil 2 Find中勾选Cline segs 点击感叹号 双击走线 查看结果
  • Apache APISIX 2.13.0 发布

    距离 Apache APISIX 上一次发布 LTS 版本已经过去了大半年的时间 今天 Apache APISIX 社区带来了一个全新的 LTS 版本 2 13 0 该 LTS 版本不仅性能更加稳定 而且支持了更多的可观测性 服务发现插件和
  • (环境搭建四) ubunut安装gpu版本pytorch: (Ubuntu16.04 RTX2080ti: 安装NVIDIA驱动+cuda10.0+cudnn7.4)

    背景介绍 新机器2080ti的显卡 安装gpu版本pytorch 后来又装了一台2张3080ti的机器 本文参考 1 Ubuntu16 04 RTX2080 安装NVIDIA驱动 cuda10 0 cudnn7 3 1https blog
  • 【华为OD机试真题 JAVA】最大N个数与最小N个数的和

    JS版 华为OD机试真题 JS 最大N个数与最小N个数的和 标题 最大N个数与最小N个数的和 时间限制 1秒 内存限制 262144K 语言限制 不限 给定一个数组 编写一个函数来计算它的最大N个数与最小N个数的和 你需要对数组进行去重 说
  • 基于SD卡的FatFs文件系统(FatFs移植到STM32)

    平台 STM32ZET6 核心板 ST LINK V2 SD卡 USB串口线 一 移植 工程介绍 主要文件在USER组中 bsp sdio sdcard c bsp sdio sdcard h和main c 另外FatFs是用来后面移植文件
  • SpringBoot输出“Hello”

    1 创建SpringBoot 创建controller包 其绝对路径是C Dpan javaProject jProject src main java com example jproject controller 在controller
  • 给已经创建好的项目添加eslint

    今天拿到一个项目 发现没有安装eslint 现在就在这大概记录一下vue项目添加eslint的具体的过程 实现目标 给项目添加eslint 在这叫做demo 准备工作 找一个已经开启了eslint的项目 在这叫做demo1 没有的话 可以直
  • 数字图像处理学习笔记(一)

    文章目录 前言 第一章绪论 1 1 什么是数字图像处理 数字图像 数字图像处理 像素 图像处理的三种典型计算处理 1 2 数字图像处理起源 1 3 数字图像处理应用 1 4 数字图像处理基本内容 1 5 图像处理系统的组成 1 6 小结 第
  • 通俗易懂详解typedef函数指针

    1 函数指针 第一个问题 搞清楚函数指针 必须知道函数指针的实质是一个是一个指针 并不是函数 函数有自己的函数体 而指针只是一个变量 也就比如我们常声明的int a 0中的a一样 细致的讲 如果在程序中定义了一个函数 那么在编译时系统就会为
  • csv批量读取测试数据

    1 添加循环控制器 需要注意请求 CSV配置都在循环控制器下 控制器次数为测试用例个数 2 CSV文件 需要注意不用加 因为读取出数据会自动加上 3 CSV配置 4 查看结果树 需要注意如果接口文档写了信息头 就一定要配置
  • web3.0的简单入门与项目介绍

    web3 0 是什么 1 简介 Web3 0是通过区块链等技术实现更加智能化 去中心化 安全可靠的应用 Web3 0的主要特点包括 去中心化 Web3 0将数据和应用从中心化的服务器转移到分布式的节点上 实现去中心化的应用 安全可靠 Web
  • 机考[81 - 90]

    华为机考 081 字符统计及重排 082 组成最大数 083 最大N个数与最小N个数的和 084 最大花费金额 085 最大矩阵和 086 最大括号深度 087 最远足迹 088 最长连续子序列 089 最长元音子串的长度 090 最长子字
  • 逻辑思维是运用计算机科学的基础概念,简析计算思维中的思维方式及思维本质...

    龙源期刊网 http doc docsou com 简析计算思维中的思维方式及思维本质 作者 张菡 来源 科学与财富 2020年第01期 摘要 计算思维是运用计算机科学的基础概念求解问题 设计系统以及理解人类行为的思维活动 本文主要介绍了计
  • 嵌入式linux应用开发完全手册(一)

    第一篇 嵌入式Linux开发环境构建 1 1 2 嵌入式发展 SCM Single Chip Microcomputer 单片机 MCU Micro Controller Unit 微控制器 SoC System on a Chip 系统级