电子产业
数字化服务平台

扫码下载
手机洽洽

  • 微信小程序

    让找料更便捷

  • 扫码下载手机洽洽

    随时找料

    即刻洽谈

    点击下载PC版
  • 华强电子网公众号

    电子元器件

    采购信息平台

  • 华强电子网移动端

    生意随身带

    随时随地找货

  • 华强商城公众号

    一站式电子元器件

    采购平台

  • 芯八哥公众号

    半导体行业观察第一站

实现一个最简单的嵌入式操作系统

来源:-- 作者:-- 浏览:855

标签:

摘要: 1.首先确定CPU,在这里为了简单,就选用 嵌入式 的CPU,比如 arm 系列,之所以用RISC(简单指令集)   类型的CPU,其方便之处是没有实模式与保护模式之分,采用线性的统一寻址,也就是不需要进行段   页式内存管理,还有就是芯片内部集成了一些常用外设控制器,比如以太网卡,串口等等,不需要像   在PC机的主板上那么多外设芯片   2.确定要实现的模块和功能,为了

  1.首先确定CPU,在这里为了简单,就选用 嵌入式 的CPU,比如 arm 系列,之所以用RISC(简单指令集)

  类型的CPU,其方便之处是没有实模式与保护模式之分,采用线性的统一寻址,也就是不需要进行段

  页式内存管理,还有就是芯片内部集成了一些常用外设控制器,比如以太网卡,串口等等,不需要像

  在PC机的主板上那么多外设芯片

 

  2.确定要实现的模块和功能,为了简单,只实现多任务调度(但有限制,比如最多不超过10),实

  现中断处理(不支持中断优先级),不进行动态SHELL交互,不实现动态模块加载,不实现fork之类

  的动态进程派生和加载(也就是说要想在你的操作系统上加入用户程序,只能静态编译进内核中;不

  支持文件系统,不支持网络,不支持PCI,磁盘等外设(除了支持串口,呵呵,串口最简单嘛),

  不支持虚拟内存管理(也就是说多任务中的每个进程都可以访问到任何地址,这样做的话,一个程序

  死了,那么这个操作系统也就玩完了)

  3.确定要使用的编译器,这里采用GCC,文件采用ELF格式,当然,最终的文件就是BIN格式,GCC和

  LINUX有着紧密的联系,自己的操作系统,需要C库支持和系统调用支持,所以需要自己去裁剪C库,

  自己去实现系统调用

  4.实现步骤:首先是CPU选型,交叉编译环境的建立,然后就是写BOOTLOADER,写操作系统

  通过以上4点的学习一个简单的 嵌入式 操作系统准备工作就差不多做好了

型号 厂商 价格
EPCOS 爱普科斯 /
STM32F103RCT6 ST ¥461.23
STM32F103C8T6 ST ¥84
STM32F103VET6 ST ¥426.57
STM32F103RET6 ST ¥780.82
STM8S003F3P6 ST ¥10.62
STM32F103VCT6 ST ¥275.84
STM32F103CBT6 ST ¥130.66
STM32F030C8T6 ST ¥18.11
N76E003AT20 NUVOTON ¥9.67