Changchun Master Li

[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

低成本物联网解决方案esp01模块新手入门教程

底层开发 esp8266 arduino

0. introduction

esp8266 是上海乐鑫出的低功耗WiFi芯片。搭载esp8266芯片的esp01是一个UART-WiFi无线模块,价格不到5块钱,深圳安信可出品,物美价廉,一个树莓派4的钱可以买50个!官方支持非常走心,一直在更新sdk,官方提供RTOS SDK和给低端芯片用的NONOS SDK。

esp01串口下载刷写flash非常简单,同时公司对社区的支持非常好,所以开发者做了很多移植工作,有很多开源固件,包括Lua(NodeMCU),Python(MicroPython),esp8266 Arduino,JavaScript(Espruino)等,玩法很丰富。

Read more

[RPi bring up] hello world! 树莓派裸机点亮led

树莓派 RPibringup 操作系统

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

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

阅读本文您需要具备

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

0. keyword

raspberry pi 1 bcm2835 armv6 hello world led blink embedded operating systems

1. abstract

得益于超大规模集成电路技术,SoC可以在单个芯片上集成CPU、GPU、内存和外设,使其成为一个五脏俱全的完整系统。因此制造尺寸更小的单板计算机成为可能。单板计算机的应用非常广泛,从家用微波炉电视机到商用加油机广告机,单板计算机无处不在。树莓派就是一款信用卡大小的单板计算机。

遗憾的是,大多数人只是用它跑一个web服务或者家用nas。而树莓派基金会最初开发树莓派的目的就是在学校中推广计算机基础科学,通过树莓派,可以很容易的将计算机体系结构和操作系统的知识付诸实践!

Read more

使用jtag和gdb实时调试Linux内核

底层开发 rpi Linux 树莓派 RPibringup
0. 关键词debug raspberry pi bcm2835 armv6 linux kernel J-Link jtag gdb 1. 摘要gdb是一款开源debugger,调试的事实标准,gdb可以帮助开发者快速定位问题。 gdb也可以作为阅读源码的工具,可以非常方便的查看运行时上下 ...
Read more

HDLbits学习记录 uwaterloo cs450

底层开发 verilog

刷完HDLbits后一段时间没关注了,偶然发现最近更新了。
新增加的四道题都和处理器分支预测相关,正好我之前有相关经验,借此机会重温一下

Read more

树莓派产生 PWM 的三种方式

底层开发 树莓派 操作系统 pwm

Introduction

某鱼上树莓派1代a已经不到20块钱了,256MB低至15元,bcm垃圾终于价格合理了,
那谁还用8kb的单片机呀,遂入了一打,准备做个逗猫的玩意儿。

舵机需要两路 PWM,这里是我对各种实现PWM的方法总结

Read more

pcduino3 nano 移植 openwrt 19.07.6

pcduino3nano openwrt

pcduino3 is on openwrt official supported device list https://openwrt.org/toh/pcduino/pcduino3
pcduino3 nano spec也差不多,所以只需小改就可以完美使用

Read more

树莓派裸机启动 helloworld

树莓派 操作系统
moved to http://blog.74ls74.org/2022/06/18/20220618_hello_world_raspberry_pi_led_blink/
Read more

小学生也能轻松理解的文件系统fat32

操作系统 filesystem

Introduction

相对于用树实现的 ext2 等,fat32 是一种结构非常简单的文件系统。据传最初的fat文件系统是1977年比尔盖茨发明的,在多年以后的当下仍然是一个常用的文件系统格式,经久不衰。本文的讨论只限于当前仍在广泛使用的 fat32 ,旨在利用直白的语言和dd命令示例来帮助大家完全理解 fat32。

Read more

drive waveshare 4inch RPi LCD(C), by Python

底层开发 python driver

introduction

微雪电子的东西不错,有很多 raspberry pi 可以用的配件。
这块微雪的屏是块好屏,买回家在 raspberry pi 的 raspbian 上可以开箱即用。
缺点在于资料并不公开,用在其他的 linux distribution 或者 一个过于定制的 linux 会很麻烦。
不加改造,可玩性很差,对不起这一百块钱。

Read more
Prev Next