IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> 学习笔记(一些问题与感悟) -> 正文阅读

[嵌入式]学习笔记(一些问题与感悟)

1. 多重包含

多重包含会让编译器做重复的计算,但是不会有实际的编译错误。

2. Cortex

Cortex(简单讲,就是ARM公司一个列的处理器。类比酷睿奔腾赛扬)属于ARMv7架构,这是到2010年为止ARM公司最新的指令集架构。
ARMv7系列架构定义了三大系列:

  • “A系列”。面向尖端的基于虚拟内存的操作系统和用户应用。例如,麒麟9000-八核芯片组有有1个3130 MHz的Cortex-A77内核,3个2540 MHz的Cortex-A77内核和2050 MHz的4核Cortex-A55组成。
  • “R系列”。针对RTOS。
  • “M系列”。微控制器。

3. git clone --recursive “resporitory url”

在这里插入图片描述

4. while(1)和for(;;)的区别?

两者都是实现死循环的方式,但是大部分情况使用for(;;),这是因为从汇编的角度来看,前者的代码更长,执行的时间要长一些。

在这里插入图片描述

  1. 常用的配置文件格式
  • ini文件: 这个在windows下用的比较多,只支持一层参数,太复杂的项目就不适用了。
  • xml文件:上古时代就开始用了,每个标签可以自定认,但是格式很复杂,容易搞混。
  • json文件:现在前后端交互的行业标准,搞互联网的没有人不认识,但有个头痛的地方就是不能注释(可以写一个不用的字段把注释内容写进去,但不建议)。
  • yaml文件:比较新的一种配置文件格式,通俗易懂。但也有个头痛的地方,就是对齐和空格要注意雨露均沾,这个有点像Python的语法(Python开发者要随身带一把游标卡尺)。

6. .NET Framework

.NET Framework是用于Windows的新托管代码编程模型。
其实顾名思义FrameWork,就已经说明可他最最核心的含义,就是一套框架,是微软公司提供的一套支持C++,C,C#等等多种语音的开发框架。有点类似于JDK之类的。
综上所述,.Net FrameWork就是微软提供的一整套支持C系列各种语言的API和各种丰富的资源框架。可以帮助开发者快速便捷轻松的开发出复杂度较高的高级程序和网页

7. .gitkeep

在使用Git的时候如果文件夹是空的则不会被git add,因此有时为了git add成功空文件夹,我们可以在文件夹下放一个.gitkeeper文件。

8. 状态机VS自动机

FSM(finite state machine)

FAM(finite automata machine)

DFA(determinate finite automata)

NFA(Non-determinate finite automata)

自动机:自动机是有限状态机(FSM)的数学模型

状态机:我们现在所说的状态机一般是有限状态机(FSM)的简称

有限自动机:有限自动机是计算机科学的重要基石,在软件开发领域内通常被称作为有限状态机,是一种应用非常广泛的设计模式。

有限状态机:

9. 头文件(.h)和源文件(.c)区别

头文件和源文件本质上没有任何区别。一般.h的文件是头文件,内含函数声明、宏定义、结构体定义等内容;后缀为.c的文件是源文件,内含函数实现,变量定义等内容。

10. int printf(const char* fmt, …) 可变参数函数

printf是最典型的可变参数函数,它的函数原型int printf(const char* fmt, …)后面的省略好就是可变参数,所以使用printf的时候可以写不定数目的参数。

11. GDB(GUN symbolic debugger)

windows下人们习惯使用一些集成好的IDE,如VS、VC、Dev-C++等,它们内部已经嵌套了相应的调试器了。

Linux下常用的程序调试器。

12. SOC、MCU、MPU、DSP、FPGA、ASIC、CPU

  • CPU(Central Processing Unit ),是一台计算机的运算核心和控制核心。CPU由运算器、控制器、寄存器及实现它们之间联系的数据、控制、状态总线构成 。
  • MPU(Micro Processor Unit),叫微处理器,通常代表一个功能强大的CPU,但不是为任何已有的特定计算目的而设计的芯片。这种芯片往往是为个人计算机和高端工作站的核心CPU。微机中的中央处理器(CPU)称为微处理器(MPU),是构成微机的核心部件,也可以说是微机的心脏。
  • MCU(Micro Control Unit),叫微控制器。是指随着大规模集成电路的出现及其发展,将计算机的CPU、RAM、ROM、定时器和多种I/O借口集成在一片芯片上,形成芯片级的芯片,比如51、AVR、Cortex-M这些芯片,内部除了RAM、ROM,可以直接加简单的外围器件(电阻、电容)就可以运行代码了。而如x86、ARM这些MPU就不能直接放代码了,它们只不过是增强版的CPU,所以得添加RAM、ROM。
  • SOC(System On Chip),指的是片上系统,MCU只是芯片级的芯片,而SOC是系统级的芯片,它既有MCU那样的内置RAM、ROM同时又像MPU那样强大,不单单是放简单的代码,可以放系统级的代码,也就是说可以运行操作系统。
  • DSP(Digital Signal Processor),数字信号处理器,用来高速处理数字信号的专用芯片。

注:

  1. MCU不同于MPU。MPU可以看成是一个增强版的CPU,而MCU则是CPU+RAM+ROM+一些简单的外围器件。MCU就是单片机了,只要组成最小系统就可以跑代码了,而MPU则不能。

13. ISP、JTAG、SWD、SWIM

  1. JTAG方式

    ? JTAG是一种标准的测试协议,可以实现编程的在线调试,利用单步追踪可以方便的查找代码的BUG,大多数的单片机都支持这种接口。

  2. SWD接口烧录方式。

    ? SWD是一种串行调试接口,与JTAG相比,SWD只需要两根线。

  3. ISP烧写方式。

    ? 使用单片机的UART实现烧录。

  4. SWIM单总线下载方式。

    ? 这种方式是针对STM8系列的单片机的,这种方式只需要一根线即可实现程序的下载。

注:

? 大多数单片机的JTAG和SWD接口是复用的。
方式。**

? 这种方式是针对STM8系列的单片机的,这种方式只需要一根线即可实现程序的下载。

注:

? 大多数单片机的JTAG和SWD接口是复用的。

  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2021-09-01 12:05:12  更:2021-09-01 12:05:39 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 0:25:18-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码