热搜关键词: 信号与系统无刷电机ADSTCP/IP

pdf

自研操作系统:DIM-SUM设计与实现

  • 1星
  • 日期: 2022-04-03
  • 大小: 13.95MB
  • 所需积分:1分
  • 下载次数:1
  • favicon收藏
  • rep举报
  • free评论
标签: 操作系统

操作系统

OS

OS

《自研操作系统:DIM-SUM设计与实现》提供了在ARM  64虚拟机中动手实践DIM-SUM及参与DIM-SUM开发的方法。

第  1章  准备工作  1

1.1  DIM-SUM简介  1

1.2  DIM-SUM是什么  1

1.2.1  DIM-SUM的第一个版本为什么是HOT-POT  1

1.2.2  DIM-SUM欢迎什么  2

1.2.3  DIM-SUM不欢迎什么  3

1.3  获得源代码  3

1.3.1  通过网页下载源代码  3

1.3.2  通过Git获取源代码  3

1.4  搭建调试开发环境  4

1.4.1  安装ubuntu  16.04  4

1.4.2  ubuntu  16.04环境配置  5

1.4.3  搭建编译环境  6

1.4.4  编译HOT-POT  7

1.4.5  运行HOT-POT  8

1.4.6  开始调试  10

1.5  向DIM-SUM操作系统提交补丁  11

1.5.1  心态  11

1.5.2  准备工作  11

1.5.3  制作补丁  13

1.5.4  制作正确的补丁  14

1.5.5  发送补丁  16

1.6  获得帮助  17

1.7  提醒  17

第  2章  算法基础  18

2.1  链表  18

2.2  散列表  19

2.3  红黑树  20

2.4  基树  22

第  3章  计数与互斥同步  23

3.1  计数  23

3.1.1  计数的难题  24

3.1.2  精确计数器  24

3.1.3  近似计数器  27

3.1.4  引用计数  31

3.2  内核互斥原语  32

3.2.1  每CPU变量  32

3.2.2  自旋锁  38

3.2.3  自旋位锁  42

3.2.4  自旋顺序锁  44

3.2.5  自旋读/写锁  47

3.2.6  读/写信号量  50

3.2.7  互斥锁  56

3.3  内核同步原语  60

3.3.1  信号量的设计原理  60

3.3.2  信号量的数据结构  61

3.3.  3  信号量API  61

3.3.4  信号量的实现  62

第  4章  调度  65

4.1  基本概念  65

4.1.1  进程和线程  65

4.1.2  任务  66

4.1.3  任务抢占  66

4.1.4  idle线程  66

4.2  SMP  CPU初始化  66

4.3  数据结构  71

4.3.1  线程  71

4.3.2  调度队列  76

4.3.3  杂项  77

4.4  调度子系统初始化  77

4.4.1  init_sched_early函数  78

4.4.2  init_idle_process函数  78

4.4.3  init_sched函数  79

4.5  线程调度  79

4.5.1  上下文切换  79

4.5.2  唤醒线程  82

4.6  高级调度API  85

4.6.1  等待队列  85

4.6.2  位等待队列  89

4.6.3  线程睡眠  93

4.6.4  消息队列  96

第  5章  中断及定时器  108

5.1  中断控制器初始化  108

5.1.1  主CPU中断控制器初始化  109

5.1.2  从CPU中断控制器初始化  110

5.2  中断控制器维护  110

5.2.1  中断号映射  110

5.2.2  逻辑中断的控制  113

5.2.3  设备中断处理函数  116

5.3  中断处理  119

5.3.1  序言  119

5.3.2  中断处理通用流程  120

5.3.3  处理外部设备中断  122

5.3.4  处理核间中断  126

5.3.5  软中断  126

5.3.6  尾声  126

5.4  工作队列  128

5.4.1  工作队列的数据结构  128

5.4.2  工作队列的全局变量  130

5.4.3  工作队列的API  130

5.4.4  工作队列的实现  131

5.5  定时器与时间管理  139

5.5.1  初始化  139

5.5.2  定时器的数据结构  139

5.5.3  定时器的全局变量  141

5.5.4  定时器的API  141

5.5.5  定时器的实现  141

5.5.6  定时器中断处理  144

5.5.7  时间管理  148

第  6章  内存管理  151

6.1  内存初始化  151

6.1.1  艰难地准备C运行环境  151

6.1.2  准备BOOT内存空间  152

6.1.3  物理内存块管理  152

6.1.4  早期设备内存映射  153

6.1.5  初始化每CPU变量  157

6.1.6  初始化线性映射  157

6.1.7  其他内存初始化工作  160

6.2  BOOT内存分配器  160

6.2.1  BOOT内存分配API  161

6.2.2  BOOT内存分配器的实现  161

6.2.3  BOOT内存分配器的销毁  163

6.3  页面编号  163

6.3.1  页面编号的数据结构  164

6.3.2  页面编号的全局变量  165

6.3.3  页面编号的API  165

6.3.4  页面编号的实现  165

6.4  页面分配器  168

6.4.1  页面分配器的设计原理  168

6.4.2  页面分配器的数据结构  169

6.4.3  页面分配器的全局变量  174

6.4.4  页面分配器的API  175

6.4.5  页面分配器的实现  176

6.4.6  页面分配器的初始化  192

6.5  Beehive内存分配器  193

6.5.1  Beehive内存分配器的设计原理  193

6.5.2  Beehive内存分配器的数据结构  195

6.5.3  Beehive内存分配器的全局变量  197

6.5.4  Beehive内存分配器的API  199

6.5.5  Beehive内存分配器的实现  199

6.5.6  Beehive内存分配器的初始化  214

6.6  I/O内存映射  216

第  7章  块设备  219

7.1  磁盘及其分区  220

7.1.1  磁盘及其分区的数据结构  220

7.1.2  磁盘及其分区的全局变量  222

7.1.3  磁盘及其分区的API  222

7.1.4  磁盘及其分区的实现  222

7.2  块设备维护  228

7.2.1  块设备的数据结构  228

7.2.2  块设备的全局变量  230

7.2.3  块设备的API  231

7.2.4  块设备的实现  231

7.3  I/O请求  242

7.3.1  I/O请求的数据结构  243

7.3.2  I/O请求的全局变量  250

7.3.3  I/O请求的API  250

7.3.4  I/O请求的实现  251

7.4  I/O调度  265

7.4.1  I/O调度的数据结构  265

7.4.2  I/O调度的全局变量  267

7.4.3  I/O调度的API  267

7.4.4  I/O调度的实现  268

第  8章  虚拟文件系统  271

8.1  挂载、卸载文件系统  271

8.1.1  挂载、卸载文件系统的数据结构  272

8.1.2  挂载、卸载文件系统的全局变量  277

8.1.3  挂载、卸载文件系统的API  278

8.1.4  挂载、卸载文件系统的实现  278

8.2  文件节点缓存  285

8.2.1  文件节点缓存的数据结构  286

8.2.2  文件节点缓存的全局变量  288

8.2.3  文件节点缓存的API  289

8.2.4  文件节点缓存的实现  290

8.3  打开、关闭文件  304

8.3.1  打开、关闭文件的数据结构  305

8.3.2  打开、关闭文件的全局变量  308

8.3.3  打开、关闭文件的API  309

8.3.4  打开、关闭文件的实现  309

8.4  读/写文件  319

8.4.1  读/写文件的数据结构  320

8.4.2  读/写文件的全局变量  323

8.4.3  读/写文件的API  323

8.4.4  读/写文件的实现  323

8.5  其他功能  337

第  9章  杂项文件系统  338

9.1  文件系统的挂载  338

9.1.1  第一次加载根文件系统  338

9.1.2  第二次加载根文件系统  340

9.2  内存文件系统  340

9.2.1  内存文件系统的数据结构  340

9.2.2  内存文件系统的全局变量  340

9.2.3  内存文件系统的API  341

9.2.4  内存文件系统的实现  341

9.3  设备文件系统  349

9.3.1  设备文件系统的数据结构  349

9.3.2  设备文件系统的全局变量  350

9.3.3  设备文件系统的API  351

9.3.4  设备文件系统的实现  351

第  10章  LEXT3文件系统  358

10.1  简介  358

10.1.1  超级块  359

10.1.2  块组描述符  359

10.1.3  块位图  360

10.1.4  文件节点位图  360

10.1.5  文件节点表  360

10.1.6  文件节点  360

10.1.7  文件日志  362

10.2  LEXT3  363

10.2.1  LEXT3的数据结构  363

10.2.2  LEXT3的全局变量  371

10.2.3  LEXT3的API  372

10.2.4  LEXT3的实现  373

10.3  文件系统日志  397

10.3.1  日志的数据结构  397

10.3.2  日志的全局变量  405

10.3.3  日志的API  405

10.3.4  日志的实现  406

第  11章  杂项  438

11.1  klibc  438

11.2  网络子系统  440

11.3  SIMPLE-KSHELL  440

推荐帖子 最新更新时间:2022-05-19 10:40

BeagleBone Black设计:ADC应用和摇杆调试!
换上电容屏之后,八路ADC完全可以放开了! 但是,内核里貌似是通过Ti_tscadc.c 初始化ADC的所以添加了函数: 可以注意到,通道选择了8路,但是用于触摸的通道就是0了,没有用于触摸屏的通道了! 使能8个ADC引脚之后! 重新编译内核! 写入内核之后! 可以在目录 sys/bus/iio/devices/iio\:device0 下看到: 8路ADC全部都有了! 接
anananjjj DSP 与 ARM 处理器
碰到一个g2553AD的有趣现象
有两个待测电压A,B, B的功率比A大;两块g2553; 现象:测电压A,用万用表可以测得出,一接到板子上用g2553A测就不行;换上g2553B就行了.程序是一样。           测电压B,用用万用表跟g2553A B都可以测得出。 void adc10() {     NOKIA5110_w_char_string(0,4,"Light:",0x00);  
黑桃K 微控制器 MCU
MSP430教程15:MSP430单片机串行通讯模块
串行异步通讯模块     在MSP430系列产品中,每一款型号都能实现串行通讯的功能,在MSP430F1X11系列中,可以用定时器A和软件编程结合实现串行通讯功能。而在其它系列产品中都带有硬件的串行通讯模块USART;另外,MSP430F14X系列产品中还带了两个串行通讯模块。而在MSP430F15X,F16X系列中USART0还可以实现IIC总线通讯。在UART模块中带有UART串行异步通讯和
qinkaiabc 微控制器 MCU
手机放兜里,充电口该朝上还是朝下?你可能做错了
很多人习惯出门后 把手机往口袋里一塞 结果过一段时间会发现 手机充电会变慢 除了手机自身消耗的因素外 放手机不正确的方式 也是导致手机充电慢的一大因素 那么手机放口袋里 充电口到底是该朝上 还是该朝下 就这个问题 好多维修手机的师傅 给出的建议都是充电口朝上 这是为什么呢 首先就是裤子口袋里是很脏的 平时一些灰尘或毛毛 都积累在口袋里洗不掉 我们把手机放在口袋
木犯001号 模拟与混合信号
PWM-DAC调节LED灯
通过AD转化读取电位器的值,根据电位器的值调节占空比,进而调节输出的直流电压,调节LED的亮度,通俗地说电位器是台灯旋钮,LED是台灯 主函数: main() { temp1=Read_AD_Data(0x94)//转换电位器值 if(counts>100) {   counts=0; if(DIR==1)//控制变量value的增加或减少 value++; if(DI
赵薇0317 51单片机
基于DSP的车辆碰撞声检测装置设计与实现
1 硬件设计 我们设计的碰撞检测装置的原理框图如图1所示,首先采用声音传感器采集各种声音信号,传感器输出的电信号经放大电路放大后,传入声音采集芯片的模拟信号输 入端。声音采集芯片将模拟信号进行A/D转换后,送到DSP模块做进一步处理。DSP模块实时地处理所采集到的声音信息,判断是否有车辆碰撞事故发生。存 储器模块和DSP模块相连,用于储存需要处理的数据和固化的代码数据,并为DSP模块运算时提供临
灞波儿奔 DSP 与 ARM 处理器

评论

登录/注册

意见反馈

求资源

回顶部

热门活动

相关视频

可能感兴趣器件

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版 版权声明

北京市海淀区知春路23号集成电路设计园量子银座1305 电话:(010)82350740 邮编:100191

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2022 EEWORLD.com.cn, Inc. All rights reserved
×