Name | Date | Size | #Lines | LOC | ||
---|---|---|---|---|---|---|
.. | 21-Aug-2025 | - | ||||
applications/ | 21-Aug-2025 | - | ||||
driver/ | 21-Aug-2025 | - | ||||
.config | A D | 21-Aug-2025 | 51.4 KiB | 1,603 | 1,484 | |
Kconfig | A D | 21-Aug-2025 | 388 | 22 | 15 | |
README.md | A D | 21-Aug-2025 | 4.3 KiB | 152 | 105 | |
SConscript | A D | 21-Aug-2025 | 311 | 15 | 11 | |
SConstruct | A D | 21-Aug-2025 | 785 | 31 | 22 | |
link.lds | A D | 21-Aug-2025 | 3.8 KiB | 150 | 129 | |
rtconfig.h | A D | 21-Aug-2025 | 11.9 KiB | 554 | 197 | |
rtconfig.py | A D | 21-Aug-2025 | 1.4 KiB | 55 | 40 |
README.md
1# Raspberry PI 4板级支持包说明 2 3## 1. 简介 4 5树莓派4B的核心处理器为博通BCM2711(四核1.5GHz,Cortex A72架构,树莓派3是四核A53)。LPDDR4内存,由5V/3A USB-C供电或GPIO 5V。 6 7外设支持上,引入了双频Wi-Fi,蓝牙5.0,千兆网卡,MIPI CSI相机接口,两个USB口,40个扩展帧。 8 9这份RT-Thread BSP是针对 Raspberry Pi 4的一份移植,树莓派价格便宜, 使用者甚众,是研究和运行RT-Thread的可选平台之一。 10 11 12## 2. 编译说明 13 14推荐使用[env工具](https://www.rt-thread.org/download.html#download-rt-thread-env-tool),可以在console下进入到`bsp\raspberry-pi\raspi4-32`目录中,运行以下命令: 15 16``` 17scons 18``` 19 20来编译这个板级支持包。如果编译正确无误,会产生rtthread.elf、kernel7.img文件。 21 22 23## 3. 环境搭建 24### 3.1 准备好串口线 25 26目前版本是使用raspi4的 GPIO 14, GPIO 15来作路口输出,连线情况如下图所示: 27 28 29 30串口参数: 115200 8N1 ,硬件和软件流控为关。 31 32### 3.2 RTT固件放在SD卡运行 33 34首先需要准备一张空的32GB以下的SD卡,如果不想自己制作启动固件,可以直接从百度网盘上下载boot的固件。 35 36``` 37链接:https://pan.baidu.com/s/1PxgvXAChUIOgueNXhgMs8w 38提取码:pioj 39``` 40 41解压后将sd目录下的文件拷贝到sd卡即可。以后每次编译后,将生成的kernel7.img进行替换即可。上电后可以看到程序正常运行。 42 43### 3.3 RTT程序用uboot加载 44 45为了调试方便,已经将uboot引导程序放入uboot目录下,直接将这些文件放到sd卡中即可。 46 47需要注意的以下步骤: 48 49**1.电脑上启动tftp服务器** 50 51windows系统电脑上可以安装tftpd搭建tftp服务器。将目录指定到`bsp\raspberry-pi\raspi4-32`。 52 53**2.修改设置uboot** 54 55在控制台输入下列命令: 56 57``` 58setenv bootcmd "dhcp 0x00200000 x.x.x.x:kernel7.img;dcache flush;go 0x00200000" 59saveenv 60reset 61``` 62 63其中`x.x.x.x`为tftp服务器的pc的ip地址。 64 65**3.修改链接脚本** 66 67将树莓派`bsp\raspberry-pi\raspi4-32\link.ld`的文件链接地址改为`0x200000`。 68 69``` 70SECTIONS 71{ 72 . = 0x8000; 73 . = ALIGN(4096); 74 . 75 . 76 . 77} 78``` 79 80改为 81 82``` 83SECTIONS 84{ 85 . = 0x200000; 86 . = ALIGN(4096); 87 . 88 . 89 . 90} 91``` 92 93重新编译程序: 94 95``` 96scons -c 97scons 98``` 99 100**3.插入网线** 101 102上述准备完成后,将网线插入,保证开发板和tftp服务器在同一个网段的路由器上。上电后uboot可以自动从tftp服务器上获取固件,然后开始执行了。 103 104完成后可以看到串口的输出信息 105 106``` 107heap: 0x000607e8 - 0x040607e8 108 109 \ | / 110- RT - Thread Operating System 111 / | \ 4.0.3 build Oct 27 2020 112 2006 - 2020 Copyright by rt-thread team 113[I/SDIO] SD card capacity 31205376 KB. 114found part[0], begin: 1048576, size: 29.777GB 115file system initialization done! 116Hi, this is RT-Thread!! 117msh /> 118``` 119 120## 4. 支持情况 121 122| 驱动 | 支持情况 | 备注 | 123| ------ | ---- | :------: | 124| UART | 支持 | UART0,UART2,UART3,UART4,UART5 | 125| GPIO | 支持 | - | 126| SPI | 支持 | SPI0 | 127| MAILBOX | 支持 | - | 128| WATCHDOG | 支持 | - | 129| HDMI | 支持 | - | 130| SDIO | 支持 | - | 131| ETH | 支持 | - | 132| BSC | 支持 | - | 133| DMA | 支持 | - | 134| DSI LCD/TOUCH | 支持 | DSI接口的LCD和TOUCH | 135| ILI9486 SPI LCD | 支持 | - | 136| XPT2046 TOUCH | 支持 | - | 137| BULETOOTH | 正在完善 | 支持reset,loadfirmware | 138 139## 5. 注意事项 140 141目前rt-thread程序可以使用的内存在100MB以内,可以通过调整`board.c`中`platform_mem_desc`表的数据进行相关内存的映射以及修改`board.h`来确定程序使用的堆栈大小。目前在地址`0x08000000`处的1M空间被映射成非cache区供树莓派4的CPU与GPU通信的消息管道。若需要扩大系统内存使用,可自行修改代码进行调整。 142 143## 6. 联系人信息 144 145维护人:[bernard][5] 146 147[1]: https://www.rt-thread.org/download.html#download-rt-thread-env-tool 148[2]: https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-a/downloads 149[3]: https://downloads.raspberrypi.org/raspbian_lite_latest 150[4]: https://etcher.io 151[5]: https://github.com/BernardXiong 152