Changchun Master Li

[Windows10 in Gentoo Linux] 力大砖飞,扔掉X11,把Linux图形界面外包给windows 10

Linux Gentoo IOMMU vfio PCIe
你是否被 GNU/Linux 的图形化界面 X11 所困扰,架构老旧,配置复杂,bug多。以Gentoo为例,启用X会导致安装很多库,依赖复杂不说,要是使用独显的话,开源的nouveau体验很糟糕,发挥不出显卡性能;使用官方闭源驱动nvidia-drivers,它对非x86机器支持很差 Ra ...
Read more

[RPi bring up] openocd用树莓派1调试树莓派5

Linux 树莓派 RPibringup 操作系统
之前写过一篇文章,介绍如何用 SEGGER J-Link V9 调试树莓派 使用jtag和gdb实时调试Linux内核 从树莓派3起,开始上aarch64架构的 CPU 核心了,3代、4代、5代树莓派分别是a53、a72、a76。对于64bit的aarch64,J-Link V9 变得无能为 ...
Read more

pynq-z1 bring up 研究

verilog xilinx
在PYNQ-Z1开发板上学习PYNQ,第一步当然是要熟练掌握开关机——别小看这一步,它可是成功的开端。官方镜像用起来省心又顺手,但如果你偏要挑战自己,不用官方镜像来启动PYNQ-Z1,那你就得准备好深入 bare metal 世界,搞定 bring-up 这个技术活了。 Boot Proc ...
Read more

Introduction to esp8266socks

esp8266
english docIntroduction to esp8266socksThe esp8266socks project enables your PC to connect to a WiFi network using an ESP8266 module. This is achi ...
Read more

[RPi bring up] 树莓派实现两个进程交替打印ab

Linux 树莓派 RPibringup 操作系统
My earliest test program was written to use one thread to write the letter A to the screen. The other thread wrote the letter B.—— just for fun ...
Read more

[RPi bring up] 从树莓派linux源码中窥探bcm2835和arm1176jzfs的中断管理

Linux 树莓派 RPibringup 操作系统
阅读本文您不需要掌握的知识有 高深的操作系统理论 高深的计算机体系结构理论 阅读本文您需要具备 全日制小学生学历及其同等学历 ★★★★★ 熟读arm1176jzfs datasheet ★★☆☆☆ ARM汇编语言 ★☆☆☆☆ C语言 ★★★★☆ 当中断发生时,程序执行流程将暂停并且运 ...
Read more

[RPi bring up] 树莓派实现简单的内存管理

树莓派 RPibringup 操作系统
受到xv6的启发,我也想给我襁褓之中的“操作系统”赋予内存管理功能。一个完善的内存管理需要考虑很多failover,缓存、tlb、page replacement等诸多功能,导致实际中使用的内存管理系统非常复杂。我决定我的内存管理从设计开始就极度简化,只实现最基础的功能。 设计把所有内存组织 ...
Read more

[RPi bring up] 深入树莓派内部,arm汇编语言精粹(下)

树莓派 RPibringup 操作系统
首先我们回顾一下上一篇文章,arm32汇编有以下特点 32bit指令 4GB地址空间 16个32bit通用寄存器 哈弗架构,取数据和取指令分别、并发的访问内存 有单独的load/store指令 默认为小端字节序(高地址保存高字节,数字顺序)可以支持大端模式(低地址保存高字节,字符串阅读顺序 ...
Read more

[RPi bring up] 深入树莓派内部,arm汇编语言精粹(上)

树莓派 RPibringup 操作系统
阅读本文您不需要掌握的知识有 高深的操作系统理论 高深的计算机体系结构理论 高深的程序设计理论 阅读本文您需要具备 GNU工具链(make/GCC/LD) ★★☆☆☆ C语言 ★★☆☆☆ 安装有raspbian的树莓派 阅读本文您可以得到什么 可以用汇编语言刷online judg ...
Read more

[RPi bring up] 给树莓派写一个bootloader!
像使用arduino一样给树莓派下载程序

树莓派 RPibringup 操作系统

阅读本文您不需要掌握的知识有

  • 高深的操作系统理论
  • 高深的计算机体系结构理论

阅读本文您需要具备

  • 全日制小学生学历及其同等学历 ★★★★★
  • GNU工具链(make/GCC/LD) ★★☆☆☆
  • ARM汇编语言 ★☆☆☆☆
  • C语言 ★★★★☆
  • Python ★☆☆☆☆

0. keyword

raspberry pi 1 bcm2835 armv6 bootloader embedded operating systems OS uart fat32 sd driver low level 底层开发 树莓派 裸机 C语言 arm汇编

1. requirement

在平时对树莓派的底层系统开发时,我需要频繁的替换kernel.img来对kernel进行更新调试。
这是我的工作流程

  1. 树莓派断电关机
  2. 从树莓派取出sd卡
  3. 把sd卡插到我的开发机上
  4. 挂载sd卡的文件系统
  5. 编写,修改程序,build出新的kernel.img
  6. 将kernel.img复制到sd卡上
  7. 卸载sd卡的文件系统
  8. 从我的开发机上取出sd卡
  9. 把sd卡插到树莓派上
  10. 树莓派上电开机

DUMMY!这个过程非常的枯燥麻烦,sd卡插不紧还会接触不良,有时候为了一个很小的改动要折腾半天。长期的插拔sd卡,也会显著降低sd slot的使用寿命,我有好几个树莓派的损坏原因只是sd slot接触不良。

Read more
Prev Next