-
华章的一些比较好的书,讲u-boot,树莓派,linux驱动之类,见下面(GNU/Linux嵌入式快速编程,嵌入式Linux设备驱动程序开发指南)
-
自研操作系统DIM-SUM设计与实现
https://gitee.com/xiebaoyou/dim-sum -
一步一步写嵌入式操作系统
search baidupan, 一步一步写嵌入式操作系统
https://github.com/Joyounger/leeos -
30天自制操作系统, OSASK
https://github.com/Tassandar/OSASK -
一个64位操作系统的设计与实现
https://github.com/yifengyou/The-design-and-implementation-of-a-64-bit-os -
Linux内核完全注释
search baidupan, Linux内核完全注释
https://github.com/yuan-xy/Linux-0.11
http://www.oldlinux.org
search baidupan, linux-0.11-devel-040809.zip -
ARM Linux内核源码剖析
search baidupan, ARM Linux内核源码剖析 -
源码开放的嵌入式实时操作系统T-Kernel
-
Orange'S一个操作系统的实现
search baidupan, 一个操作系统的实现 -
嵌入式实时操作系统Small RTOS51原理及应用
baidupan -
從 RISC-V 處理器到 UNIX 作業系統
https://github.com/riscv2os/riscv2os -
嵌入式设计及LINUX开发指南
-
嵌入式Linux编程
-
深度探索嵌入式操作系统
-
ARM嵌入式Linux系统构建与驱动开发范例
-
华章,按需印刷
-
深度实践嵌入式linux系统移植, jamvm, u-boot, s3c2440
-
linux内核探秘:深入解析文件系统和设备驱动的架构与设计
-
深度探索linux操作系统:系统构建和原理解析
-
Linux环境编程从应用到内核
-
Linux内核设计的艺术:图解Linux操作系统架构设计与实现原理(第2版)
-
GNU/Linux嵌入式快速编程(beagleBone Black, SAMA5D3, Wandboard)
-
嵌入式Linux编程,克里斯西蒙兹
-
嵌入式Linux设备驱动程序开发指南(树莓派3b)
-
嵌入式LINUX系统开发教程(第2版)
-
Linux嵌入式设计, 周伟民
(???) stbmenu
(???) https://github.com/nothings/stb
- search baidupan, arm_linux, linux-3.2.tar.bz2
https://minnie.tuhs.org/cgi-bin/utree.pl
https://minnie.tuhs.org/Archive/Distributions/Research/Dennis_v6/
http://simh.trailing-edge.com
https://github.com/takahiro-itazuri/unix-v6
see v6root.tar.gz.\usr\sys
https://github.com/atotto/my_unix_v6
search github, found if newproc EAGAIN
https://github.com/changLifan/Forward_Secrecy
https://github.com/WarlockD/arm-cortex-v7-unix
包含了一些xv6, v6mini的内容
https://github.com/takahiro-itazuri/unix-v6/tree/master/v6root/usr/sys
https://github.com/atotto/my_unix_v6/blob/master/_unix_v6/root/usr/sys/ken
https://github.com/JiYou/unix-v6
http://takahirox.github.io/pdp11-js/unixv6.html
simhv39-0-exe
https://blog.csdn.net/u012814856/article/details/98724746
- https://github.com/mit-pdos/xv6-public
- https://github.com/swbengs/Xv6_Lua_Shell
- https://gitee.com/jindaliuzi/xv6-book-chinese
- https://github.com/ranxian/xv6-chinese
- https://www.bookstack.cn/read/xv6-chinese/README.md
- https://github.com/salewski/xv6-minix2
可能可以参考一下MIPS书计算机系统设计上里面的C库 - https://www.zhihu.com/question/22463820
写一个操作系统内核有多难?大概的内容、步骤是什么? - 我搞明白怎么用gdb调试xv6了,而不会看到乱了的调用栈。其实很多书都没说清楚,
包括我手头上的书。改Makefile,把-O3改成-g3 -gdwarf-2。
如果是xv6-rev9,有一个很明确的提示在注释上,但新版故意去掉了。
另外gdb甚至可以调试用户空间的程序,例如cat README,方法是
(gdb) file _cat
(gdb) b main
然后就可以断在main函数处
- https://github.com/swetland/xv6
- eclipse-cdt调试
在ubuntu 14下用gdb和Eclipse-CDT调试xv6-public。
(1)首先编译xv6-public xv6-rev9。最好用rev9版本,
因为Makefile里面注释掉的-g -gdwarf-2参数,需要修改打开。
sudo apt install qemu; make qemu-nox-gdb,用Ctrl+A X退出
(2)打开控制台的另一个tab,用gdb调试(生成gdbinit文件,需要自己写set auto-load safe-path /)。
(3)用Eclipse-CDT调试。sudo apt install eclipse-cdt,用eclipse命令打开,
创建工程选择Makefile, linux gcc,
然后添加remote gdb调试,gdb参数去掉.gdbinit留空白,目录选择xv6-public-xv6-rev9,
调试文件选择目录下的kernel即可。
connection选tcp,端口号26000
(4)其他gdb工具也可以,例如ddd,cgdb和gdbtui
- https://gitee.com/qison/xv6-book-chinese
- https://pdos.csail.mit.edu/6.828/2016/tools.html
- https://pdos.csail.mit.edu/6.828/2016/xv6/book-rev9.pdf
- https://pdos.csail.mit.edu/6.828/2016/xv6/xv6-rev9.pdf
- https://github.com/ranxian/xv6-chinese/tree/rev9
- search baidupan, xv6-chinese-rev9_chrome.pdf
- use vscode plugins to print, see https://blog.csdn.net/m0_68997646/article/details/128612630
- https://github.com/ranxian/xv6-chinese
- http://pdos.csail.mit.edu/6.828/2012/xv6/book-rev7.pdf
- http://pdos.csail.mit.edu/6.828/2012/xv6/xv6-rev7.pdf
https://blog.csdn.net/u011675745/article/details/122890830
https://github.com/YehudaShapira/xv6-explained/blob/master/xv6%20Code%20Explained.md
https://github.com/k0Iry/xv6-jos-i386-lab
https://gitee.com/hedonihilist/jos
https://github.com/mit-pdos/xv6-riscv
https://github.com/HUST-OS/xv6-k210
https://github.com/david50407/xv6-rpi
https://unix.stackexchange.com/questions/645618/writing-an-os-shutdown-process-for-qemu-xv6
why Ctrl + a x not work ??? only use Ctrl Alt Q
- search baidupan, work_xv6_mingw, i686-elf-tools-windows.zip, xv6_mingw_patch_v1.rar
//-Wno-stringop-overflow
*(volatile char*)lastaddr = 99;
- http://frippery.org/busybox/
- https://github.com/alessandromrc/i686-elf-tools
- https://qemu.weilnetz.de/w32/2014/
- method 1: modify Makefile, -O2->-O0
on shell, Ctrl+P
i686-elf-addr2line -f -e kernel 80104bb5 - method 2, qemu gdbserver (QEMU windows version can stop itself with its GUI menu, to switch to gdb command line)
QEMUGDB = $(shell echo "-gdb tcp:127.0.0.1:$(GDBPORT)")
(gdb) target remote 127.0.0.1:25500
- xv6-rev11.pdf
- https://pdos.csail.mit.edu/6.828/2018/labs/lab1
- xv6试验环境bochs及qemu搭建
- https://blog.csdn.net/woxiaohahaa/article/details/49225447
- https://www.cnblogs.com/Sisyphean/p/xv6_bochs.html
- https://github.com/panks/Xv6
- (make qemu) https://github.com/woai3c/MIT6.828
- (unzip final.tar) https://github.com/clann24/jos
- https://github.com/librabyte/6.828
- unzip https://github.com/clann24/jos/blob/master/final/final.tar, under ubuntu 14.04 32bit
unzip clann24_jos-master.zip
cd /work_jos/jos-master/final/lab
unzip final.tar
make qemu
gedit GNUmakefile, mod to gcc -pipe -std=gnu99
CC := $(GCCPREFIX)gcc -pipe -std=gnu99
gedit inc/mmu.h, and remove '(struct Segdesc)'
// Null segment
#define SEG_NULL { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
// Segment that is loadable but faults when used
#define SEG_FAULT { 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0 }
// Normal segment
#define SEG(type, base, lim, dpl) \
- https://pdos.csail.mit.edu/6.828/2010/labs/lab3/
make run-hello - https://github.com/SmallPond/MIT6.828_OS
- https://gitee.com/coolloser/jos
- see mooc os
- https://github.com/zirandu/linux-0.11-lab
- search baidupan, linux-0.11-lab-master.zip
ubuntu1404 success
rpd2017 compile failed - http://showdesk.io/2017-03-18-17-54-23-linux-0.11-lab-usage-00-06-42/
sudo apt install qemu-system-x86
sudo apt install bochs bochs-sdl
sudo apt install bochs-x
make switch #switch to bochs
make start #only for bochs
make start-fd #not work
make start-hd #with gcc and mkfs command - qemu monitor:
-monitor stdio
Ctrl+Alt+2:
(qemu) info block
(qemu) change floppy0 rootfs/rootimage-0.11
Ctrl+Alt+1 - 我研究一下,如果不考虑代码可能的差异,比较容易编译和运行linux 0.11的方法通过这个项目:zirandu/linux-0.11-lab(出自tinylab),不过缺点是里面有些情况无法运行OS(可能是我没理解)。运行方法是:(1)apt install qemu-system-x86 bochs bochs-sdl(注意bochs需要sdl插件)(2)make switch (切换到bochs); make start(文件系统是第二个软驱,只支持bochs,不支持qemu);make start-hd(bochs和qemu都支持,文件系统是第一个硬盘)。顺带一提,linux-0.11-lab可能有编译器问题,我用ubuntu14是正常的,但用较新的rpd 2017会编译失败
- 总体来说linux 0.11的软盘根文件系统最好使用bochs(虽然后来有人搞出了支持qemu的根文件系统),那么xv6呢?xv6的qemu是双IDE硬盘,第一个硬盘是OS镜像,第二个硬盘是根文件系统,而且根文件系统是通过c程序生成的,比较容易修改。linux 0.11把整个gcc(古老版本)打进去硬盘版的根文件系统中,所以只能在qemu里头自己打代码然后编译了,不够方便
https://github.com/lizhirui/K210-Linux0.11
https://github.com/beride/linux0.11-1
- https://lwn.net/Articles/263562/
- http://draconux.free.fr/os_dev/linux0.01_news.html
- search work_linux_0.01
- search linux-0.11.rar
- oldlinux吧
- https://github.com/leapofazzam123/awesome-osdev/blob/main/README.adoc
- https://github.com/gdevic/minix1
- https://www.minix-vmd.org/source/std/1.7.0
- https://github.com/leapofazzam123/minix-2.0.0
- https://github.com/davidgiven/minix2
- 我研究了一下,minix 3(对应《操作系统:设计与实现》第3版的书光盘可以在网站上找到,
叫minix-3.1.0-book.iso(跟minix 3最新版区别不大,除了版本旧,只是在光盘上带了源码)。
至于minix 2,源码在minix 3网站上,但书光盘似乎找不到。可以找到2.0.3的m203CD08iso.gz,
可以用virtualbox运行,需要在按ESC然后执行boot之前手动设置bootcddev = c0d2(或其他值);
另一个做法是从源码编译,不过这个还没研究 - https://studia.elka.pw.edu.pl/prog/minix/#c3
- m203CD08iso.gz
- https://spivey.oriel.ox.ac.uk/corner/Installing_Minix_2_on_VirtualBox
- Intel-2.0.4.tar.gz
- http://www.ist.aichi-pu.ac.jp/lab/yamamoto/os/minix
- http://www.ist.aichi-pu.ac.jp/lab/yamamoto/os/minix/download/minix2-0-4
- minix2.0.4.vhd.gz
- https://wiki.minix3.org/doku.php?id=www:download:previousversions
- minix-3.1.0-book.iso.bz2
- 我怀疑minix 3网站上的CD-ROM-2.0就是第二版的光盘,只是它不是通过光盘启动,
而是需要在dos环境下制作可引导的软盘(我猜测),所以就没有iso文件只有压缩包。
当然这只是我的猜测。第一版可能没有光盘 - CD-ROM-2.0.tar.gz
minix
- https://www.cnblogs.com/Thermo/p/15710386.html
- pkgin install clang
- pkgin install binutils
- clang a.c
- https://github.com/mumu3w/MINIX1_C86_OLD
- https://github.com/mumu3w/MINIX1.0-IA16
- https://github.com/mumu3w/MINIX1x_OLD
- https://github.com/mumu3w/MINIX1_OW_OLD
https://github.com/robutest/uclinux
https://github.com/pfoubet/linux_2.6.33.8_STM32
https://github.com/jserv/stm32f429-linux-builder
search baidupan, arm-2010q1-189-arm-uclinuxeabi-i686-pc-linux-gnu.tar.bz2
search baidupan, stm32f429-linux-builder-master.zip
https://github.com/robutest/uclinux
stm32f429-linux-builder
This is a simple tool designed to create a uClinux distribution for STM32f429 Discovery board from STMicroelectronics.
https://github.com/jserv/stm32f429-linux-builder
- 好像不需要开发板也能运行uclinux,有三种模拟器是支持uclinux的,可以找到相关的文章,
一种是proteus,虽然是闭源的,不过据说是可以跑自己编译的内核(把elf转换成hex格式)。
一种是skyeye,还有一种是gdb本身,因为gdb自带了一个叫GDB/ARMulator的ARM7模拟器,
不过我都没试过(难道是内存展开根文件系统?ramdisk?)。在uclinux的verdors目录下有gdb的目录 - https://download.csdn.net/download/haishui132/3222506
- www1.cs.columbia.edu/~sedwards/papers/lariviere2008uclinux.pdf
- https://www.jollen.org/blog/2004/02/uclinux-dist_gdbarmulator.html
- https://blog.csdn.net/weixin_42131618/article/details/116820175
https://github.com/tron-forum/mtkernel_3
https://github.com/Ninals-GitHub/TRON
https://www.micrium.com/rtos/
https://github.com/weston-embedded/uC-OS3
Cortex-M3 is ARMv7-M ???
https://github.com/weston-embedded/uC-OS2
baidupan, uCOS_III简单的例子程序.rar
baiduapn, Micrium.RTOS.1.0.0.pack
??? MicriumOS
https://github.com/hancaliskan/MicriumOS
https://github.com/contiki-os/contiki
- https://www.openarkcompiler.cn
- https://code.opensource.huaweicloud.com/HarmonyOS/OpenArkCompiler
- https://gitee.com/harmonyos/OpenArkCompiler
- https://openharmony.gitee.com/openharmony
- https://github.com/Awesome-HarmonyOS/HarmonyOS
http://serenityos.org
https://github.com/SerenityOS/serenity
https://lantian.pub/article/modify-computer/os2-warp-firefox.lantian/
https://winworldpc.com/product/os-2-warp-4/os-2-warp-452
https://www.edgeros.com/ms-rtos
https://github.com/ms-rtos
https://azure.microsoft.com/zh-cn/services/rtos/
ThreadX RTOS
https://github.com/azure-rtos/threadx
search baidupan, small RTOS51.rar
《嵌入式实时操作系统Small RTOS51原理及应用》
https://github.com/RTEMS/rtems
https://github.com/vsfteam/vsf
https://github.com/LiteOS/LiteOS_PortingContest
https://www.keil.com/pack/doc/cmsis/RTOS/html/index.html
https://www.jianshu.com/p/b545411930e5
https://github.com/LiShanwenGit/STM32F1X-RTOSDemo
https://github.com/sysprog21/lkmpg
https://github.com/MintCN/linux-insides-zh
嵌入式Linux应用开发完全手册.pdf
嵌入式linux应用开发完全手册 书籍光盘.iso
http://download.100ask.net/books/Linux/ELADCM1/index.html
实验指导手册 - 奔跑吧Linux内核-v1.3.1公开版.pdf
https://github.com/figozhang/runninglinuxkernel_4.0
https://github.com/weimingtom/wmt_qemu_memo
https://www.jianshu.com/p/ebfd457b0f57
《 奔跑吧 Linux内核 入门篇》
创建 git仓库
Trochili RTOS
https://baike.baidu.com/item/嵌入式实时操作系统原理与最佳实践/53220213?fr=aladdin
https://github.com/VictorYXL/MyOS
https://zhuanlan.zhihu.com/p/92256014
https://zhuanlan.zhihu.com/p/92090983
https://blog.csdn.net/wxkhturfun/article/details/120256016
- https://www.monaos.org
- https://github.com/higepon/mona
- search baidupan, mona-0.3.0alpha7-qemu-20050121-tap-windows
- https://github.com/yongjianchn/rtlinux-learning
- https://mirrors.edge.kernel.org/pub/linux/kernel/projects/rt/
- search baidupan, rt-smart-20201025.zip
- https://www.rt-thread.org/document/site/#/rt-thread-version/rt-thread-smart/rt-smart-quickstart/rt-smart-quickstart
- http://117.143.63.254:9012/www/rt-smart/
- http://117.143.63.254:9012/www/rt-smart/rt-smart-20201025.zip
- rt-thread有个分支版本叫rt-smart,可以运行在qemu-system-arm上(vexpress-a9?),我试下可以正常编译运行(我用的工具链是xubuntu自带的gcc-arm-none-eabi软件包),如果汇编编译失败,需要修改一下rtconfig.py,把AFPFLAGS的值前面加上-march=armv7-a -mtune=cortex-a7。效果如下,如果感兴趣可以自己试试
- https://www.rt-thread.org/document/site/#/rt-thread-version/rt-thread-smart/application-note/sdl2_ffmpeg/sdl2_ffmpeg
- https://github.com/liukangcc/ART-Pi-Smart
- build
sudo apt install gcc-arm-none-eabi
cd rt-smart/kernel/bsp/qemu-vexpress-a9
scons
- https://jyywiki.cn
- (seem incomplete project source) https://github.com/NJU-ProjectN
- https://www.bilibili.com/video/BV1qa4y1j7xk?p=3
- https://github.com/s0duku/ics2020-s0duku
- https://github.com/yinwaii/NEMU
- search baidupan, ics2020-s0duku-main_v3.tar.gz
- https://nju-projectn.github.io/ics-pa-gitbook/ics2022/
- some games for research (obfuscated)
- https://github.com/NJU-ProjectN/oslab0-collection
- https://github.com/NJU-ProjectN/nanos-lite
- https://ysyx.oscc.cc/docs/ics-pa/4.5.html#运行onscripter模拟器
- https://github.com/NJU-ProjectN/navy-apps/tree/ics2020/apps/onscripter
- https://gitee.com/jiang000/OS
- https://gitee.com/kevinpo/NJU_OS2020
- (IMP???) https://github.com/rainorangelemon/njuoslab5
- https://github.com/rainorangelemon/njuoslab
- https://www.docin.com/p-954642777.html
- Standford: Pintos (11KLOC)
MIT: xv6, Jos (7KLOC, IA32 SMP) - 浙大, 西安邮电学院, Linux
清大, MIT xv6
北航, 基于MIPS的教学操作系统 - 2009, 实验项目MiniOS; 2010大学计算机课程报告论坛论文发表
https://nuttx.apache.org
BL604
Linux From Scratch (LFS) is a project that provides you with step-by-step instructions for building your own custom Linux system, entirely from source code.
在FreeBSD上安装x11的方法。
(1)首先通过dvd1.iso(不要用disk1版)光盘安装系统(基本上默认即可,过程略)
(2)弹出光盘后重启
(3)登入root后,重新放入光驱,然后挂载:
mkdir /mnt/cdrom; mount -t cd9660 /dev/cd0 /mnt/cdrom,
然后复制package设置:cp /mnt/cdrom/packages/repos/FreeBSD_install_cdrom.conf /etc/pkg/,
然后用ee修改这个文件:ee /etc/pkg/FreeBSD_install_cdrom.conf,
把其中的file:///dist/packages改成file:///mnt/cdrom/packages,保存
(4)最后用pkg install xorg即可,进入x11用startx命令。
补充,如果想pkg install gnome似乎不能用这种方法。
- http://landley.net/aboriginal/about.html
- http://landley.net/aboriginal/downloads/
- http://landley.net/aboriginal/downloads/binaries/
- https://j-core.org
- https://j-core.org/downloads
- https://www.bilibili.com/video/BV1Q5411w7z5
- https://github.com/plctlab/riscv-operating-system-mooc
- https://github.com/unicornx/riscv-operating-system-mooc
- https://gitee.com/unicornx/riscv-operating-system-mooc
- https://osblog.stephenmarz.com/index.html
- https://github.com/cccriscv/mini-riscv-os
- https://pdos.csail.mit.edu/6.828/2020/xv6.html
- https://github.com/petershen0307/arm_mini_os_practice
- https://github.com/kitanokitsune/skyeye-lpc2300
- search baidupan, gdb-5.0-uclinux-armulator-20060104.patch.gz
- see sourceforge skyeye
- https://www.cnblogs.com/aspirs/p/13662506.html
- http://www.makelinux.net/kernel_map/LKM.pdf
- from: http://makelinux.net/kernel_map/
- https://github.com/makelinux/linux_kernel_map
- https://makelinux.github.io/kernel/diagram/
- https://makelinux.github.io/kernel/map/
- search baidupan, readme_xubuntu200464_gdb12_target_sim
- 我大概统计了一下这几个类unix代码的代码量,大概是这样。值得注意的是这些代码是需要花费很多人力写出来和测试的,并非想象中只有一两个人做出来的:
(1)xv6: xv6-public, 75个文件,总行数10k行
(2)unix v6: UnixV6, 64个文件,总行数12k行
(3)linux-0.11: linux-0.11-lab, 91个文件,13k行
(4)minix2: CD-ROM-2.0, SYS, 1012个文件, 114k行 - xv6: xv6-public, 75个文件(含根文件系统用户态),总行数9778行
unix v6: UnixV6, 64个文件,总行数12274行
linux-0.11: linux-0.11-lab, 91个文件,13154行
minix2: CD-ROM-2.0, SYS, 1012个文件, 113906行 - minix1: 300个文件,48583行
- linux-0.01-rm-3.5: 88个文件,总行数13222行
我发现有的消费机似乎也是跑uclinux的,叫W90P710,ARM7架构。。。
当然这只是猜测。看ROM里面有linux 2.4.20-uc0的字样。
不过固件和rootfs(rom1fs,romfs)真的很小,
甚至固件比rootfs还小,大概2M和1.5M左右
- search 115
- https://en.wikipedia.org/wiki/ΜClinux
- μClinux-dist, complete source distribution package at the Wayback Machine (archived 2018-11-13)
- μClinux - Setting up the Development Environment at the Wayback Machine (archived 2017-03-24)
- https://github.com/AcceleratedLinux/accelerated-linux
- https://web.archive.org/web/20181014184953/http://www.uclinux.org/pub/uClinux/dist/
- https://web.archive.org/web/20181018130303/http://www.uclinux.org/index.html
- https://web.archive.org/web/20170324024708/http://retired.beyondlogic.org/uClinux/uClinux.htm
- search baidupan, uClinux-2.0.38.1pre7.diff.gz
- search baidupan, uClinux-dist-20020220.tar.gz
https://ford.biologie.hu-berlin.de/matze/linux-m68k-atarinommu/-/wikis/home
http://thierry.fedorawiez.free.fr/st/lin68k.html
https://www.nordier.com
https://my.oschina.net/u/2245781/blog/636502/
https://sourceforge.net/projects/bsd42
research-unix-v7
https://github.com/apache/nuttx
Linux_内核源代码分析
Linux内核源代码情景分析
- my backup, search baidupan, dos.rar
- https://github.com/chyyuu/ucore_os_plus
- https://github.com/Lan1keA/ucore-mips-with-comment
- https://github.com/RT-Zhang/uCore-Note
- ucore实验环境搭建与简单调试
- https://www.bilibili.com/video/BV1Zz4y1d7BK/
- mooc os, 清华 操作系统原理
- https://www.bilibili.com/video/BV1uW411f72n
- https://github.com/yusong-shen/mooc_os_lab
- https://github.com/OXygenMoon/OperatingSystemInDepth
- ucore
- https://github.com/chyyuu/ucore_os_plus
- http://chyyuu.gitbooks.io/ucorebook/
- https://github.com/chyyuu/ucorebook_code
- http://www4.cs.fau.de/Projects/JX/index.html
- https://stackoverflow.com/questions/263926/what-is-the-barest-bare-boned-operating-system-available
- https://github.com/xinu-os/xinu
- https://xinu.cs.mu.edu/index.php/Main_Page
- https://github.com/real-xinu/xinu-stm32
- cd compile; make
- http://www.mscs.mu.edu/~brylow/xinu/
- http://flingos.co.uk/
- https://github.com/FlingOS/FlingOS
- https://github.com/FlingOS/Getting-Started-Tutorials
- https://chyyuu.gitbooks.io/ucore_os_docs/content/
- https://github.com/chyyuu/ucore_lab
- https://github.com/chyyuu/os_tutorial_lab
- https://github.com/chyyuu/ucore_os_docs
- https://github.com/runninglinuxkernel/BenOS/tree/lab01_hello_benos
- https://github.com/runninglinuxkernel/arm64_programming_practice
- (this tested) https://github.com/Rafe/CuRT
see CuRT-master_v1_arm.tar.gz - https://github.com/jserv/CuRT
- https://github.com/algosenses/CuRT_v1_MIPS
- Embedded-Programming-with-the-GNU-Toolchain
- https://www.cnblogs.com/thammer/p/10596429.html
- Embedded-Programming-with-the-GNU-Toolchain
- https://www.shuzhiduo.com/A/6pdDPq4Xdw/
- 在 Cortex-M4 上编译和运行 ARM 汇编二进制文件(在 QEMU 中模拟)
- https://www.it1352.com/2577875.html
- search connex qemu
火星,qemu 4.0以上居然支持micro:bit,我佛了。写法是这样子的(直接加载hex文件,可能
就是作为bios加载):
qemu-system-arm -M microbit -device loader,file=test.hex -serial stdio。
同时还支持gdb调试,写法是这样:x/10i dollar号pc
- https://www.cnx-software.com/2021/02/23/fuzix-unix-like-operating-system-ported-to-raspberry-pi-pico-and-esp8266/
- http://cowlark.com/2021-02-09-esp8266-fuzix/
- https://github.com/EtchedPixels/FUZIX
- http://cowlark.com/2021-02-16-fuzix-pi-pico/
- https://www.fuzix.org
- https://whycan.com/t_5939.html
- search fuzix
- https://github.com/DuinOS/DuinOS
- https://www.86duino.com/?p=11873&lang=zh
- https://www.86duino.com/?page_id=2846&lang=zh
- https://github.com/roboard/V86DUDE
- https://github.com/BarclayII/AIMv6
- https://github.com/BarclayII/xv6-Loongson3A
- https://github.com/SKT-CPUOS/xv6-loongarch-exp
- https://hehao98.github.io/posts/2019/03/xv6-1/
- https://github.com/runninglinuxkernel/riscv_programming_practice
- https://github.com/100askTeam/riscv_programming_practice
- RISC-V 体系结构编程及实践
- https://github.com/flyanh/FlyanxOS
- https://www.bilibili.com/video/av87666188
- https://gitee.com/flyanh/FFlyanx
- unix6.pdf
- https://cs3210.cc.gatech.edu/refs.html
有个实时操作系统,riot-os,已经彻底去除MIPS的支持了,不过zephyr和nuttx还支持MIPS