diff --git a/bsp/raspberry-pi/raspi4-32/README.md b/bsp/raspberry-pi/raspi4-32/README.md index 1034b3f4671bcc0d44a95d7d2ed01c0c8ea78ced..98bd2d5df19d2ea9f3d78163a06c49c2d3b2a35e 100644 --- a/bsp/raspberry-pi/raspi4-32/README.md +++ b/bsp/raspberry-pi/raspi4-32/README.md @@ -20,45 +20,99 @@ scons 来编译这个板级支持包。如果编译正确无误,会产生rtthread.elf、kernel7.img文件。 -## 3. 执行 +## 3. 环境搭建 +### 3.1 准备好串口线 -### 3.1 下载**Raspberry Pi Imager**,生成可以运行的raspbian SD卡 +目前版本是使用raspi4的 GPIO 14, GPIO 15来作路口输出,连线情况如下图所示: -首先下载镜像 +![raspi2](../raspi3-32/figures/raspberrypi-console.png) -* [Raspberry Pi Imager for Ubuntu](https://downloads.raspberrypi.org/imager/imager_amd64.deb) -* [Raspberry Pi Imager for Windows](https://downloads.raspberrypi.org/imager/imager.exe) -* [Raspberry Pi Imager for macOS](https://downloads.raspberrypi.org/imager/imager.dmg) +串口参数: 115200 8N1 ,硬件和软件流控为关。 -### 3.2 准备好串口线 +### 3.2 RTT固件放在SD卡运行 -目前版本是使用raspi4的 GPIO 14, GPIO 15来作路口输出,连线情况如下图所示: +首先需要准备一张空的32GB以下的SD卡,如果不想自己制作启动固件,可以直接从百度网盘上下载boot的固件。 -![raspi2](../raspi3-32/figures/raspberrypi-console.png) +``` +链接:https://pan.baidu.com/s/1PxgvXAChUIOgueNXhgMs8w +提取码:pioj +``` -串口参数: 115200 8N1 ,硬件和软件流控为关。 +解压后将sd目录下的文件拷贝到sd卡即可。以后每次编译后,将生成的kernel7.img进行替换即可。上电后可以看到程序正常运行。 + +### 3.3 RTT程序用uboot加载 -### 3.3 程序下载 +为了调试方便,已经将uboot引导程序放入uboot目录下,直接将这些文件放到sd卡中即可。 -当编译生成了rtthread.bin文件后,我们可以将该文件放到sd卡上,并修改sd卡中的`config.txt`文件如下: +需要注意的以下步骤: + +**1.电脑上启动tftp服务器** + +windows系统电脑上可以安装tftpd搭建tftp服务器。将目录指定到`bsp\raspberry-pi\raspi4-32`。 + +**2.修改设置uboot** + +在控制台输入下列命令: ``` -enable_uart=1 -arm_64bit=0 -kernel_addr=0x8000 -kernel=kernel7.img -core_freq=250 +setenv bootcmd "dhcp 0x00200000 x.x.x.x:kernel7.img;dcache flush;go 0x00200000" +saveenv +reset ``` -按上面的方法做好SD卡后,插入树莓派4,通电可以在串口上看到如下所示的输出信息: +其中`x.x.x.x`为tftp服务器的pc的ip地址。 -```text -heap: 0x00044270 - 0x04044270 +**3.修改链接脚本** + +将树莓派`bsp\raspberry-pi\raspi4-32\link.ld`的文件链接地址改为`0x200000`。 + +``` +SECTIONS +{ + . = 0x8000; + . = ALIGN(4096); + . + . + . +} +``` + +改为 + +``` +SECTIONS +{ + . = 0x200000; + . = ALIGN(4096); + . + . + . +} +``` + +重新编译程序: + +``` +scons -c +scons +``` + +**3.插入网线** + +上述准备完成后,将网线插入,保证开发板和tftp服务器在同一个网段的路由器上。上电后uboot可以自动从tftp服务器上获取固件,然后开始执行了。 + +完成后可以看到串口的输出信息 + +``` +heap: 0x000607e8 - 0x040607e8 \ | / - RT - Thread Operating System - / | \ 4.0.3 build May 25 2020 + / | \ 4.0.3 build Oct 27 2020 2006 - 2020 Copyright by rt-thread team +[I/SDIO] SD card capacity 31205376 KB. +found part[0], begin: 1048576, size: 29.777GB +file system initialization done! Hi, this is RT-Thread!! msh /> ``` @@ -71,8 +125,15 @@ msh /> | GPIO | 支持 | - | | SPI | 支持 | SPI0 | | MAILBOX | 支持 | - | +| WATCHDOG | 支持 | - | +| HDMI | 支持 | - | +| SDIO | 支持 | - | + +## 5. 注意事项 + +目前rt-thread程序可以使用的内存在100MB以内,可以通过调整`board.c`中`platform_mem_desc`表的数据进行相关内存的映射以及修改`board.h`来确定程序使用的堆栈大小。目前在地址`0x08000000`处的1M空间被映射成非cache区供树莓派4的CPU与GPU通信的消息管道。若需要扩大系统内存使用,可自行修改代码进行调整。 -## 5. 联系人信息 +## 6. 联系人信息 维护人:[bernard][5]