V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
levelworm
V2EX  ›  问与答

请教一下,有人用单片机做过操作系统课程的项目吗?

  •  
  •   levelworm · 2022-09-14 06:29:50 +08:00 · 1177 次点击
    这是一个创建于 801 天前的主题,其中的信息可能已经有所发展或是发生改变。

    手头有一块德州仪器的 Launchpad ,琢磨着用它来学习操作系统和编译原理(比如说移植某个简单的语言),大家觉得如何?

    多谢!

    14 条回复    2022-09-15 11:09:27 +08:00
    williampan
        1
    williampan  
       2022-09-14 06:59:16 +08:00 via iPhone   ❤️ 2
    想做就去尝试,与其以后后悔没做,不如做起来,失败了再来尝试解决问题。也许会是弯路,但探索不就是这样吗。
    zzz22333
        2
    zzz22333  
       2022-09-14 07:02:25 +08:00 via Android   ❤️ 2
    建议换一个比较通用的单片机来做,这样网上资料会多很多,遇到问题也有参考。
    Donahue
        3
    Donahue  
       2022-09-14 09:57:37 +08:00   ❤️ 1
    我觉得结合到具体单片机实现起来会比较麻烦,各种细节处理比较复杂,不如去找那些国外课程的 lab 做做
    sujin190
        4
    sujin190  
       2022-09-14 10:12:37 +08:00   ❤️ 1
    赞同 #2 ,初学者这还是选用毕竟老的但是好多大学课程都会用的 51 系列,或者现在使用量非常广的 stm 系列,硬件不比软件,且不说资料真的太少找起来非常麻烦,更要命的是个型号之间只能说大体相同,你找到的资料还需要对应型号才行,软件系统一般都有初始兼容,硬件几乎就都没这特性,而且好歹软件还能有个日志和错误输出,单片机没弄好之前就是个砖头,硬件权威的应该是各芯片的 dataset ,但是吧没点基础估计你都看不懂
    typing
        5
    typing  
       2022-09-14 10:20:26 +08:00 via iPhone   ❤️ 1
    建议从 simulator 或者 emulator 开始搞。尽量挑选那些 hardware spec 比较全的系统下手
    darkengine
        6
    darkengine  
       2022-09-14 10:24:09 +08:00   ❤️ 1
    有“就一碟子醋包顿饺子”的感觉了
    NXzCH8fP20468ML5
        7
    NXzCH8fP20468ML5  
       2022-09-14 10:27:15 +08:00 via Android   ❤️ 1
    单片机有 mcu 吗,没有的话用来学习操作系统没意义。建议直接开发板走起。
    NXzCH8fP20468ML5
        8
    NXzCH8fP20468ML5  
       2022-09-14 10:28:40 +08:00 via Android   ❤️ 1
    说错,单片机有 mmu 吗?-_-||
    swulling
        9
    swulling  
       2022-09-14 17:28:00 +08:00 via iPhone   ❤️ 1
    根据课程选板子-✅
    根据板子自己学-❌
    nightwitch
        10
    nightwitch  
       2022-09-14 19:03:10 +08:00 via Android   ❤️ 1
    用 qemu 比用板子方便太多,实机板子调试很痛苦
    levelworm
        11
    levelworm  
    OP
       2022-09-15 05:25:32 +08:00
    @nightwitch 10
    多谢,有道理。开发板得用 USB 输进去。
    julyclyde
        12
    julyclyde  
       2022-09-15 10:19:21 +08:00   ❤️ 1
    @sujin190 用 51 的大学,我觉得算是不求上进的大学了
    那上边基本上没办法运行什么正经的操作系统吧

    和选择 8086 汇编的大学差不多一个档次
    sujin190
        13
    sujin190  
       2022-09-15 10:32:19 +08:00   ❤️ 1
    @julyclyde #12 你说的对,51 确实是太老了,但是对于硬件有兴趣初学者来说 51 的 dataset 应该是很短很简单的了,初学者首先需要了解时钟、寄存器的作用和配置逻辑、地址空间管理分配、你写的代码如何作用于 io 、以及串口这些简单通信协议,而且还有那么多大学教材可用,过时归过时,但是计算机的这些基础眼见时间内应该是不会变的,合适的入门门槛还是很有利于学习进度的,不过似乎楼主想学习的操作系统和编译原理并不需要了解这些
    julyclyde
        14
    julyclyde  
       2022-09-15 11:09:27 +08:00   ❤️ 1
    @sujin190 现代芯片也可以学这些知识

    这些知识并不是“必须用过时芯片才可以”学到的
    但是用现代芯片还有更多的可能性

    换个角度说,如果某个知识必须用过时芯片才能学,那这个知识大概是没啥用的
    比如,现在 x86 架构默认都 UEFI 启动了,ARM 架构也开始流行起来了,从 real 模式到 protected 模式切换的方法就没多大学习的意义了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2543 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 15:37 · PVG 23:37 · LAX 07:37 · JFK 10:37
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.