韦东山ARM第一期总结
文章目录
- 01 - 裸机开发特点
- 1.1 - 51 / Arduino / STM等单片机
- 1.2 - ARM单片机
- 02 - 总结
一切都站在裸机开发者的角度而言
01 - 裸机开发特点
1.1 - 51 / Arduino / STM等单片机
回顾最简单的51单片机,到方便开发的Arduino,到能迅速成型的STM,在裸机的开发角度而言,表现为存在越来越丰富强大的API,以及编译链接等细节对程序员越来越透明化,可以得出如下特点:
1、方便的IDE,编译套件一条龙服务,一键编译下载运行调试
2、配置寄存器,功能模块化,任务顺序执行
3、程序从main()开始,C/C++语言编程
4、程序只运行在后台(大循环)和前台(中断
5、程序的逻辑设计固定,逻辑比较简单,功能比较单一
6、程序员不需要关心堆栈内存等问题
7、程序员直接使用修饰符就可以使用中断函数
1.2 - ARM单片机
1、不固定的编辑工具,原始的gcc编译链,额外的下载器,调试方法单一
2、配置寄存器,功能模块化,任务顺序执行
3、程序从汇编start.S开始,汇编 / shell / C语言编程
4、程序能运行在若干种模式内,宏观上也分为后台(大循环)和前台(异常)
5、程序的逻辑设计固定,逻辑比较简单,功能比较单一
6、程序员需要设置程序运行的堆栈,管理内存
7、中断需要程序员去配置寄存器、分辨触发位、以及提供中断函数
02 - 总结
对ARM裸机而言,更像是从轮子造起,需要用大量的工作去配置一个能让main()
执行的环境,其实51-STM等强大丰富的IDE比如keil已经替我们完成了前面的工作,所以ARM裸机开发是完完全全反应了一个单片机真实的运行流程
内容 | 51 / Arduino / STM | ARM单片机 |
---|---|---|
编辑 | IDE套件 | 任意文本编辑器 |
编译 | IDE套件 | 原始gcc编译链 |
下载 | IDE套件 | 特定的额外下载器 |
调试 | IDE套件 | 串口 / LCD 等可视化设备 |
编程语言 | 纯C/C++ | 汇编 + shell + C |
程序的开始点 | main() | start.S |
堆栈内存问题 | 不关心 | 需要自定义配置管理 |
中断使用 | 修饰符 | 需要对CPU模式和寄存器操作 |
韦东山ARM第一期总结相关推荐
- 韦东山ARM第一期作业(一)ARM时钟体系
文章目录 01 - 作业所在路径 02 - 作业描述 03 - 作业解答 01 - 作业所在路径 ARM裸机1期加强版\源码文档图片\文档图片\第010课_掌握ARM芯片时钟体系 02 - 作业描 ...
- 韦东山ARM第一期作业(三)内存控制器和SDRAM
文章目录 01 - 作业所在路径 02 - 作业描述 03 - 作业解答 01 - 作业所在路径 ARM裸机1期加强版\源码文档图片\文档图片\第012课_内存控制器与SDRAM 02 - 作业描 ...
- 韦东山ARM第一期作业(二)UART串口
文章目录 01 - 作业所在路径 02 - 作业描述 2.1 - 作业1 2.2 - 作业2 03 - 作业解答 3.1 - 作业1解答 3.2 - 作业2解答 04 - 作业源码分享 01 - 作业 ...
- 韦东山嵌入式第一期学习笔记DAY_4——8_3编写第1个程序点亮LED
作者:GWD 时间:2019.7.5 一.课程内容: 1.不太完美的配置方式(会破坏寄存器其他的位) 2.问:几条常用的ARM汇编指令? 3.问:LDR与MOVE的区别? 答:LDR时伪指令,执行的时 ...
- 韦东山嵌入式第一期学习笔记DAY_3——7_1_裸机开发步骤简介
作者:GWD 时间:2019.7.4 一.课程内容: 1.问:windows.linux与arm(linux)建立工程的区别? 答: 2.问:ubuntu环境下编译一个C文件的过程? 答: 1).建立 ...
- 韦东山嵌入式第一期学习笔记DAY_1——2_0_安装ubuntu16.04虚拟机
作者:GWD 时间:2019.7.2 一. 课程内容: 1. 简单介绍linux: 1).linux内核与linux发行版本的联系: 2. 安装ubuntu虚拟机: 二. 学习要点: 1. 问:SCM ...
- 韦东山嵌入式第一期学习笔记DAY_1——3_1_linux命令入门演示
作者:GWD 时间:2019.7.2 一.课程内容: 1.问:除了图形界面,ubuntu下面有没有其他方式也可以创建目录.创建文件? 答:通过linux命令,linux命令,是每一个linux学习者必 ...
- 韦东山嵌入式第一期学习笔记DAY_1——3_2_shell命令解析器功能说明
作者:GWD 时间:2019.7.2 一. 课程内容: 1.问:在shell(命令解释器)中输入字符串并回车的过程 答: 1). shell根据第1个字符串去环境变量PATH所指定的目录中找到同名的应 ...
- 韦东山嵌入式第一期学习笔记DAY_2——6_2_使用eop烧写裸板程序
作者:GWD 时间:2019.7.3 一.课程内容 1.安装JTAG驱动: 1).复制驱动所在路径: 2).安装驱动时候,选择浏览计算机以查找(注意对于EOP需要安装几次驱动,路径都是一样的) 2.安 ...
最新文章
- 一个操作系统的实现(1)
- 机会只留给有准备的人
- Hadoop_NameNode_代码分析_目录树(2)
- 快速排序详解+各种实现方式
- tf.gfile()函数
- [数据库]---mysql数据库 使用binlog+canal或binlake进行数据库的复制
- curl post 日志_curl命令发送Post请求
- Tensorflow2.x代码实现计算Top-k Accuracy
- 华谊兄弟:拟向阿里影业、腾讯等发行不超8.2亿股股票
- ios 分段 判断 小说阅读器_还在用别的小说阅读器?今天教你用Python制作简易小说阅读器!...
- Ubuntu18.10与windows7文件夹共享
- 阶乘与 pi 的关系 —— 斯特林公式(Stirling formula)
- 服务器接收到其他服务器传送的数据_其他-查找网内的其他DHCP服务器-从零开始学RouterOS系列21...
- codeblock输出中文乱码问题
- lora网关以太网传输
- python常用文件操作和解析xml文件
- 数字图像处理基本知识
- 微信小程序打开外部链接
- [米家]窗帘电机【立创开源】
- 2、软件造价总结(主要基准数据)