豆芽八股专栏之嵌入式

嵌入式

1、什么是嵌入式

2、精简指令集和复杂指令集

3、cpu内部架构和工作原理

4、cpu内核态和用户态,用户态怎么进入内核态

5、cpu流水线工作原理

6、嵌入式流水线有什么不同

7、什么是超流水线

8、什么是乱序执行

9、cpu两种架构体系

10 说说rom 和ram的区别

11 、说说了解哪些存储器

12、说说你了解哪些嵌入式操作系统,各有什么优点

13、什么是DMA

14、FreeRTos和ucos的区别

15、说下linux proc下面有什么文件

16、中断的使用场景和注意事项

  1. 外设控制:当外部设备需要向CPU发出信号时,如键盘按键,鼠标点击等,可以通过中断机制实现设备和CPU之间的交互。
  2. 多任务处理:当计算机同时需要执行多个任务时,可以使用中断机制来切换任务。
  3. 异常处理:当程序发生错误或异常时,可以使用中断机制来处理异常情况,如处理器保护异常、缺页异常等。

注意事项:

  1. 中断处理程序必须尽可能快速地执行完毕,以确保CPU能够尽快地回到原来的任务上,否则会影响系统的正常运行。
  2. 中断处理程序需要占用CPU资源,过多的中断会使CPU负载过高,降低系统性能,因此需要合理地分配中断资源。
  3. 中断处理程序需要保证数据的一致性和完整性,防止数据丢失或错误。
  4. 中断处理程序需要考虑可重入性,以便在多个任务同时发生中断时能够正确处

中断函数参数传递

  1. 上下文结构体传递:在中断处理程序中,通常会定义一个上下文结构体,用来保存中断处理程序需要的参数和状态信息。当中断触发时,系统会将上下文结构体的内容压入堆栈中,中断处理程序再从堆栈中取出这些参数进行处理。

  2. 寄存器传递:一些CPU支持将参数传递到特定的寄存器中,以便在中断处理程序中直接访问这些参数。例如,x86架构的CPU支持将参数传递到AX、BX、CX、DX等通用寄存器中,ARM架构的CPU支持将参数传递到R0~R3寄存器中。

(二)

4、A,RM处理器模式有哪几种

1、用户模式

2、快速中断

3、外部中断

4、管理模式

5、数据访问中止模式

6、系统模式

7、未定义指令中止模式

5、ARM处理器几种模式切换的过程

软中断 、复位       管理模式

外部中断        快速中断或者外部中断模式

cpu异常      数据访问中止模式 ,无效指令   未定义指令中止模式

6、嵌入式中断的过程

保存现场

模式切换

获得中断源

中断处理

中断返回

7、说下DMA

一种为i/o使用一种特殊的直接存储器访问芯片,它可以直接控制外围设备的数据流,而无需持续的cpu干扰,

8、中断和异常的区别

9、大端模式和小端模式

大端 高数据放在低地址,低数据放在高地址

小端  低位有效数据放在高地址,高位有效数据存在低地址

10、

12、什么是mmu,工作原理是什么

mmu是用来管理虚拟内存的,物理内存的控制线路,同时负责虚拟地址映射为物理地址

扩大地址空念、内存保护与共享】避免内存碎片、

21、c语言结构体怎么定义节省内存

1、在保证值域的情况下,用小字节变量代替大字节变量

2、将各个成员按其所占字节树从小到大声明,以后减少中间的填补空间

3、取消字节对齐

三、 

3、bootloader的启动分哪两个阶段

stage1:

硬件初始化

为stage 2准备RAM空间

将stage2代码复制到RAM空间

设置好堆栈

跳转到stage2的c入口点

stage2

初始化硬件

检测系统内存映像

将内核映像和根文件系统映像从flash上读到RAM空间中

为内核设置启动参数

调用内核

7、说下设备的种类、各自有什么特点

字符设备:以字为单位进行数据处理,一般不使用缓存技术,只能按照顺序读写

块设备数据   可以按照可寻址的块为单位进行处理,大多数快设备允许随机访问

网络接口用于网络通信

1、i2c

总线有两根双向数据线,一根是数据线 SDA,一根是时钟先 SCL

空闲: SDL  SCL都是高电平

起始信号   SCL 高      SDL由高变低的跳变

停止信号 SCL 高   SDL由低变高的跳变

主设备在SCL线上产生一个时钟脉冲,将SDL线上传输一个数据位,当一个字节数据传输完之后,从设备将拉低SDA线,回传给主设备一个应答位,这就是一个字节的真正传输

系统中的外围设备都有一个七位的从器件地址,通过这个地址来选择从设备

2、spi

一个主多格从

四根线

1、主设备数据输入,从设备输出

2、主设备输出,从设备输入

3、时钟线

4、时钟使能线,当要和某个从设备通信就将之使能

3、uatr

数据包的内容由起始位、主体数据、校验位、停止位组成,通讯双方的数据包格式以及波特率要约定一样

起始位:先发一个逻辑0

数据位:

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值