diff --git a/rt-thread-version/rt-thread-standard/hw-board/ra8d1-vision-board/ra8d1-vision-board.md b/rt-thread-version/rt-thread-standard/hw-board/ra8d1-vision-board/ra8d1-vision-board.md index 722a2da0162f3238f3a938e393e79e24f0d2c31d..47abf413008c00bbd49ff8997e71f5894a3408e8 100644 --- a/rt-thread-version/rt-thread-standard/hw-board/ra8d1-vision-board/ra8d1-vision-board.md +++ b/rt-thread-version/rt-thread-standard/hw-board/ra8d1-vision-board/ra8d1-vision-board.md @@ -83,3 +83,8 @@ git clone https://github.com/RT-Thread-Studio/sdk-bsp-ra8d1-vision-board.git 4.进行工程的编译和下载: ![](figures/studio_download.png) + +### 其它资料 + +- [**瑞萨VisionBoard开发实践指南**](/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/瑞萨VisionBoard开发实践指南.md) + diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/009a5828f2d99daa5f4a9974ec59c5bf.jpg.webp b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/009a5828f2d99daa5f4a9974ec59c5bf.jpg.webp new file mode 100644 index 0000000000000000000000000000000000000000..11962a94e31bb83b2da8ff6921d02e30283111fe Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/009a5828f2d99daa5f4a9974ec59c5bf.jpg.webp differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/01285e5be1cb1e31ed58636380206373.jpg.webp b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/01285e5be1cb1e31ed58636380206373.jpg.webp new file mode 100644 index 0000000000000000000000000000000000000000..6a62f9f53ccc7a5e68d1fe782ecb1efb6a81447a Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/01285e5be1cb1e31ed58636380206373.jpg.webp differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/01e4e4c35e2db5f3e8cdfd4028aa653e.png.webp b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/01e4e4c35e2db5f3e8cdfd4028aa653e.png.webp new file mode 100644 index 0000000000000000000000000000000000000000..c1180566922e6f5ec7272b2a42802f7542686792 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/01e4e4c35e2db5f3e8cdfd4028aa653e.png.webp differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/02774e1a62f530d44291bcb0d0db4a4e.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/02774e1a62f530d44291bcb0d0db4a4e.png new file mode 100644 index 0000000000000000000000000000000000000000..67f2b5f9a8e3658e638ee12dc6733fd28c0fc153 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/02774e1a62f530d44291bcb0d0db4a4e.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/07963f5a5e0ec5c77b507a8a7543fdb1.png.webp b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/07963f5a5e0ec5c77b507a8a7543fdb1.png.webp new file mode 100644 index 0000000000000000000000000000000000000000..33be25b78a56b3eb1b557ad51b75d21f9f7cd422 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/07963f5a5e0ec5c77b507a8a7543fdb1.png.webp differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/07c9bdf6bfd67ef149920fcedea2ede1.jpg.webp b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/07c9bdf6bfd67ef149920fcedea2ede1.jpg.webp new file mode 100644 index 0000000000000000000000000000000000000000..83b6dee61b62d87ac27c9abf20b79060e3e7cb44 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/07c9bdf6bfd67ef149920fcedea2ede1.jpg.webp differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/07eef207b46c0fd494639765440bc199.png.webp b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/07eef207b46c0fd494639765440bc199.png.webp new file mode 100644 index 0000000000000000000000000000000000000000..d5c05c7964a1839f6aafa8d6db814d1f866fcb96 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/07eef207b46c0fd494639765440bc199.png.webp differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/08cd2c751069f52de8dab2c3c1b7447d.jpg.webp b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/08cd2c751069f52de8dab2c3c1b7447d.jpg.webp new file mode 100644 index 0000000000000000000000000000000000000000..d1abd1d8f618bab6dd48791ca5e16eb6bcef105f Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/08cd2c751069f52de8dab2c3c1b7447d.jpg.webp differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/09b6bc8480a6110879da2e74398fd68d.jpg.webp b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/09b6bc8480a6110879da2e74398fd68d.jpg.webp new file mode 100644 index 0000000000000000000000000000000000000000..617acf3b750fcf7f4d56152c3c632d5c1d8609a4 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/09b6bc8480a6110879da2e74398fd68d.jpg.webp differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/0a9cd2bdefd44a51546eef864f98f533.png.webp b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/0a9cd2bdefd44a51546eef864f98f533.png.webp new file mode 100644 index 0000000000000000000000000000000000000000..11e91249f833f1fdbca7df96115922b2d04f4d08 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/0a9cd2bdefd44a51546eef864f98f533.png.webp differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/0b2a4cfe82f5d58f0d26e0103902351b.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/0b2a4cfe82f5d58f0d26e0103902351b.png new file mode 100644 index 0000000000000000000000000000000000000000..11132ad8e36b028ef28f3a1f70424a5dbbdae1f3 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/0b2a4cfe82f5d58f0d26e0103902351b.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/0e41e3ff5f8d9adc4b4b3f18f3a803c7.png.webp b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/0e41e3ff5f8d9adc4b4b3f18f3a803c7.png.webp new file mode 100644 index 0000000000000000000000000000000000000000..be26865d23f9f0415d80fcd025ce1a8a2ca038e8 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/0e41e3ff5f8d9adc4b4b3f18f3a803c7.png.webp differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/0e4ca8934545dd4e0820d887ab634901.png.webp b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/0e4ca8934545dd4e0820d887ab634901.png.webp new file mode 100644 index 0000000000000000000000000000000000000000..257df02bbe01d738c1937175f6308fc46a48174e Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/0e4ca8934545dd4e0820d887ab634901.png.webp differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/100f37a933703d25e289290611449829.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/100f37a933703d25e289290611449829.png new file mode 100644 index 0000000000000000000000000000000000000000..eef8f9f1e42d617424f1d26c1bcfde19d7cb09a0 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/100f37a933703d25e289290611449829.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/102f176534483d68a15e6a24b27a837e.png.webp b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/102f176534483d68a15e6a24b27a837e.png.webp new file mode 100644 index 0000000000000000000000000000000000000000..504d651bc4ac60a4b76ccb71219ac1bd4155fea3 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/102f176534483d68a15e6a24b27a837e.png.webp differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/1312cee54f25913223ead2223640592b.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/1312cee54f25913223ead2223640592b.png new file mode 100644 index 0000000000000000000000000000000000000000..d03e3c19707a086e1a1c145358471f6d5df4b320 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/1312cee54f25913223ead2223640592b.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/1452125a5ce39bde90d71025d1fcf051.png.webp b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/1452125a5ce39bde90d71025d1fcf051.png.webp new file mode 100644 index 0000000000000000000000000000000000000000..1d7631d9c55c4348f6d9f445cbdcfb1b546b8e2d Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/1452125a5ce39bde90d71025d1fcf051.png.webp differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/15bae285390eaf2604ae5e165f21cecf.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/15bae285390eaf2604ae5e165f21cecf.png new file mode 100644 index 0000000000000000000000000000000000000000..b26578d56283dd5692d194dab51f9b7bfa97a7d3 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/15bae285390eaf2604ae5e165f21cecf.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/16c7f7e36a834dcda9f0f9b09eb4a91c.bmp b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/16c7f7e36a834dcda9f0f9b09eb4a91c.bmp new file mode 100644 index 0000000000000000000000000000000000000000..7298eb78f25f58e2dc39e3552e1dd250e125c394 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/16c7f7e36a834dcda9f0f9b09eb4a91c.bmp differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/16d15c79fabf3bc6e0bfb9331e9e8a87.png.webp b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/16d15c79fabf3bc6e0bfb9331e9e8a87.png.webp new file mode 100644 index 0000000000000000000000000000000000000000..b0073831cd678dbc29c1ba2ad6bc3f8cfd40d1f7 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/16d15c79fabf3bc6e0bfb9331e9e8a87.png.webp differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/178f9f4307806a68458528a4350fe33c.png.webp b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/178f9f4307806a68458528a4350fe33c.png.webp new file mode 100644 index 0000000000000000000000000000000000000000..5b4f7337cdeb81668a8027f11e1f7b7ae54ed4b5 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/178f9f4307806a68458528a4350fe33c.png.webp differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/17d1c255c9adc749f781b5f64cd8cff4.png.webp b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/17d1c255c9adc749f781b5f64cd8cff4.png.webp new file mode 100644 index 0000000000000000000000000000000000000000..61ae5ddfc30744786f836a5229996f18bbceef86 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/17d1c255c9adc749f781b5f64cd8cff4.png.webp differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/1985f8ef20a6a63977c8e6bb9d243c17.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/1985f8ef20a6a63977c8e6bb9d243c17.png new file mode 100644 index 0000000000000000000000000000000000000000..4f008fc76412c3525ffae4d15653bcd747b10c85 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/1985f8ef20a6a63977c8e6bb9d243c17.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/1a7d568e1a0bae2ba3046378804fb44d.png.webp b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/1a7d568e1a0bae2ba3046378804fb44d.png.webp new file mode 100644 index 0000000000000000000000000000000000000000..d950bcb837c2bb64f67aa84b84a5e88670d1eaf4 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/1a7d568e1a0bae2ba3046378804fb44d.png.webp differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/1aa22c1e891474f857c7f3d960e76749.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/1aa22c1e891474f857c7f3d960e76749.png new file mode 100644 index 0000000000000000000000000000000000000000..fdd00f88fb1abed6168170334f695a417889a6d5 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/1aa22c1e891474f857c7f3d960e76749.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/1b15d3e3440bb33eb54b64ecb5319e68.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/1b15d3e3440bb33eb54b64ecb5319e68.png new file mode 100644 index 0000000000000000000000000000000000000000..1d6bf7b9877b2bec0b42e045a11437deebc4b577 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/1b15d3e3440bb33eb54b64ecb5319e68.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/1d780c0e00c46e773cada1279f103a01.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/1d780c0e00c46e773cada1279f103a01.png new file mode 100644 index 0000000000000000000000000000000000000000..ea09fabafd00d0e5e2a0e45e97fcfe2d3eb75fce Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/1d780c0e00c46e773cada1279f103a01.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/1f23dcb026c57913fa870b1134aee8af.png.webp b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/1f23dcb026c57913fa870b1134aee8af.png.webp new file mode 100644 index 0000000000000000000000000000000000000000..93b4dab48f87806e7b9d3015b48f7d0db25842e4 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/1f23dcb026c57913fa870b1134aee8af.png.webp differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/1f3c10b29e26351dad426d9cded83060.png.webp b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/1f3c10b29e26351dad426d9cded83060.png.webp new file mode 100644 index 0000000000000000000000000000000000000000..1cff5ebfb112b03cdecf0cac6324864d7f55a1f1 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/1f3c10b29e26351dad426d9cded83060.png.webp differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/1fb456d4dc8d7a883bc20be0ad42eda4.png.webp b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/1fb456d4dc8d7a883bc20be0ad42eda4.png.webp new file mode 100644 index 0000000000000000000000000000000000000000..419da7863a542c40d2124606b10b22f0429e486d Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/1fb456d4dc8d7a883bc20be0ad42eda4.png.webp differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/1fe108fb389eb0cce7e57882121f79e6.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/1fe108fb389eb0cce7e57882121f79e6.png new file mode 100644 index 0000000000000000000000000000000000000000..b7cedf3898b4ae26fa0da1fd12ba1d2645b0f2a5 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/1fe108fb389eb0cce7e57882121f79e6.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/202404212159225.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/202404212159225.png new file mode 100644 index 0000000000000000000000000000000000000000..ed6a6cb89ed1b12c249c89c280dc3994f8b84591 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/202404212159225.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/202404212159226.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/202404212159226.png new file mode 100644 index 0000000000000000000000000000000000000000..01eff253641028893bb30593666fd8ac4898a363 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/202404212159226.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/202404212159227.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/202404212159227.png new file mode 100644 index 0000000000000000000000000000000000000000..f9a3603e1990ac90fc296cb7683c8355a2d6b6a0 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/202404212159227.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/202404212159228.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/202404212159228.png new file mode 100644 index 0000000000000000000000000000000000000000..4f116da20c38d8860d388dd85bd6a5abc50bfda9 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/202404212159228.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/202404212159229.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/202404212159229.png new file mode 100644 index 0000000000000000000000000000000000000000..4debb739f19d1773c1d8a1cd55969fc4b2e9de53 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/202404212159229.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/202404212159230.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/202404212159230.png new file mode 100644 index 0000000000000000000000000000000000000000..099397dc9bc43d23eafeb0becfb92059f170a0e6 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/202404212159230.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/202404212159231.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/202404212159231.png new file mode 100644 index 0000000000000000000000000000000000000000..662586f946032222341132af87d759143c7cf9af Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/202404212159231.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/202404212159232.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/202404212159232.png new file mode 100644 index 0000000000000000000000000000000000000000..4a7aef2b2e25a406a83b18de2468881508512feb Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/202404212159232.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/202404212159233.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/202404212159233.png new file mode 100644 index 0000000000000000000000000000000000000000..7a5e8abeb900a27d237f686c55287d98b2ab62f7 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/202404212159233.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/202404212159234.jpg b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/202404212159234.jpg new file mode 100644 index 0000000000000000000000000000000000000000..68800a433d88be7aa7fb93763944909e84794abb Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/202404212159234.jpg differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/202404212159235.jpg b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/202404212159235.jpg new file mode 100644 index 0000000000000000000000000000000000000000..149cb992835403bfd83bce39ef8cbdd7123ccccf Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/202404212159235.jpg differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/202404212159241.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/202404212159241.png new file mode 100644 index 0000000000000000000000000000000000000000..a22b7269420432ba5779057ce9709a5decba318c Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/202404212159241.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/202404212159242.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/202404212159242.png new file mode 100644 index 0000000000000000000000000000000000000000..025e3451e19641b3dd5163b3932cd80312aa90c3 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/202404212159242.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/202404212159243.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/202404212159243.png new file mode 100644 index 0000000000000000000000000000000000000000..290d5717d65d67c07b9ee845c79e0624d2a3cc58 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/202404212159243.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/202404212159244.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/202404212159244.png new file mode 100644 index 0000000000000000000000000000000000000000..f991f0caf9176ddcb394258f9de877fcfc011868 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/202404212159244.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/202404212159245.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/202404212159245.png new file mode 100644 index 0000000000000000000000000000000000000000..c8ba255234a5d38356f2d56cab98fe82757799f4 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/202404212159245.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/202404212159246.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/202404212159246.png new file mode 100644 index 0000000000000000000000000000000000000000..9e255697988c89c9054b245cbe8867089a81c35a Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/202404212159246.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/202404212159247.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/202404212159247.png new file mode 100644 index 0000000000000000000000000000000000000000..9a3117530d620951850a380f6741c876afb709b2 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/202404212159247.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/202404212159248.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/202404212159248.png new file mode 100644 index 0000000000000000000000000000000000000000..92ebc40bb9a2e1b1e0a2601a0ed63897a3466702 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/202404212159248.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/202404212159249.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/202404212159249.png new file mode 100644 index 0000000000000000000000000000000000000000..9e14504a55a26a8df7cbb9d7015a051969f2cd37 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/202404212159249.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/202404212159250.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/202404212159250.png new file mode 100644 index 0000000000000000000000000000000000000000..eff62c95753bfe364c1c1e3079fa8030163855de Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/202404212159250.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/202404212159251.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/202404212159251.png new file mode 100644 index 0000000000000000000000000000000000000000..838daf7d8c01da441a05d8385105ad88ec9767b1 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/202404212159251.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/202404212159252.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/202404212159252.png new file mode 100644 index 0000000000000000000000000000000000000000..bd36cf90de156e956d36035754c89e7577c663b6 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/202404212159252.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/202404212159253.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/202404212159253.png new file mode 100644 index 0000000000000000000000000000000000000000..0ca24eb44ca5b099d6560d3ca27f6ce7d9230dd6 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/202404212159253.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/202404212159254.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/202404212159254.png new file mode 100644 index 0000000000000000000000000000000000000000..d69bacbcee60712f508205e0f8662d77827c5a71 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/202404212159254.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/202404212159255.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/202404212159255.png new file mode 100644 index 0000000000000000000000000000000000000000..68ba86d0841ac62755d14c887f4fa47c9cb8b27d Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/202404212159255.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/202404212159256.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/202404212159256.png new file mode 100644 index 0000000000000000000000000000000000000000..836fd8632f8c14f18e7a4daf293fae7053cc0625 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/202404212159256.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/202404212159257.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/202404212159257.png new file mode 100644 index 0000000000000000000000000000000000000000..5c81fd2a5b19bcb38903b15fb92d63fd78d61c8e Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/202404212159257.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/202404212159258.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/202404212159258.png new file mode 100644 index 0000000000000000000000000000000000000000..5745cdc3f163c1b90c1c9028bf6e021f9f129867 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/202404212159258.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/202404212159259.jpg b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/202404212159259.jpg new file mode 100644 index 0000000000000000000000000000000000000000..27adacdcce5eb56a84fa0495725530509fd5aa99 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/202404212159259.jpg differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/20f111db9f53ffedaa696dfb05e91e41.png.webp b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/20f111db9f53ffedaa696dfb05e91e41.png.webp new file mode 100644 index 0000000000000000000000000000000000000000..3227bb71dc2007652784c78fe9f9a21690da6afe Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/20f111db9f53ffedaa696dfb05e91e41.png.webp differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/2680bf9796bc04f0b139a3f8265db9ae.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/2680bf9796bc04f0b139a3f8265db9ae.png new file mode 100644 index 0000000000000000000000000000000000000000..c60a9c2e5e0a79e99d5b66ec12194edbc4009e85 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/2680bf9796bc04f0b139a3f8265db9ae.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/2708105d39659fd5442b1f80e371ed15.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/2708105d39659fd5442b1f80e371ed15.png new file mode 100644 index 0000000000000000000000000000000000000000..6f728df0996edf26cf6a8cdc0a780e80fc2f6013 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/2708105d39659fd5442b1f80e371ed15.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/28f92cb5634bec1ad0c938bf666ad6b6.png.webp b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/28f92cb5634bec1ad0c938bf666ad6b6.png.webp new file mode 100644 index 0000000000000000000000000000000000000000..dbd47bc84555552b2de8a2e461f1f24a7952c986 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/28f92cb5634bec1ad0c938bf666ad6b6.png.webp differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/2a6123bb8093475b29c2af529d0715ab.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/2a6123bb8093475b29c2af529d0715ab.png new file mode 100644 index 0000000000000000000000000000000000000000..2b00ebaa31a73f0ebf25e8c545dadbfbcddfe629 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/2a6123bb8093475b29c2af529d0715ab.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/2bb60389afd644320fa24e4434308586.png.webp b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/2bb60389afd644320fa24e4434308586.png.webp new file mode 100644 index 0000000000000000000000000000000000000000..39e8d2e92d3f18f6defaf5577f4f3fa9708da8a4 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/2bb60389afd644320fa24e4434308586.png.webp differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/2f273ad7714c7f2ea5d11df662cb72e1.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/2f273ad7714c7f2ea5d11df662cb72e1.png new file mode 100644 index 0000000000000000000000000000000000000000..f2e881f4571d18dad497b9b124b0a0a951df0f07 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/2f273ad7714c7f2ea5d11df662cb72e1.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/2fc0819e5b457d1670789141b3084a09.jpg.webp b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/2fc0819e5b457d1670789141b3084a09.jpg.webp new file mode 100644 index 0000000000000000000000000000000000000000..2c82ffc74153c7fcb07a379fab59836a2ad7615a Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/2fc0819e5b457d1670789141b3084a09.jpg.webp differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/3081b65eecbf00f54c0910ce3ee1feb5.png.webp b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/3081b65eecbf00f54c0910ce3ee1feb5.png.webp new file mode 100644 index 0000000000000000000000000000000000000000..0cf15393f7859489820c66b45b4377b9c1fb0c18 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/3081b65eecbf00f54c0910ce3ee1feb5.png.webp differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/322eac08fdd59d88b157e559d5bf24f8.png.webp b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/322eac08fdd59d88b157e559d5bf24f8.png.webp new file mode 100644 index 0000000000000000000000000000000000000000..83823e923e5cefdc15ae5d6f389b4b7a6f9292ae Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/322eac08fdd59d88b157e559d5bf24f8.png.webp differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/37dc0b0ede9522d8c22ab35f80c7da3a.jpg.webp b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/37dc0b0ede9522d8c22ab35f80c7da3a.jpg.webp new file mode 100644 index 0000000000000000000000000000000000000000..34d3fa555be467b8605d080d5e7cee747e642501 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/37dc0b0ede9522d8c22ab35f80c7da3a.jpg.webp differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/398e6b00660a27cea6036ae4fca9ef8d.png.webp b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/398e6b00660a27cea6036ae4fca9ef8d.png.webp new file mode 100644 index 0000000000000000000000000000000000000000..7ee8d3caf279112cea4e063b34def43845a9595f Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/398e6b00660a27cea6036ae4fca9ef8d.png.webp differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/39c5fad85264d1a653443382fdbf4581.png.webp b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/39c5fad85264d1a653443382fdbf4581.png.webp new file mode 100644 index 0000000000000000000000000000000000000000..d612fa84ba2975f3d371a1d5996bbe524d15d6ac Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/39c5fad85264d1a653443382fdbf4581.png.webp differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/3c1e31595e5f34c2599c2383430dea59.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/3c1e31595e5f34c2599c2383430dea59.png new file mode 100644 index 0000000000000000000000000000000000000000..fa43a04c57f29b49dd7395446e43b5ec7a855305 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/3c1e31595e5f34c2599c2383430dea59.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/3ee6415fabc4c61cce89a8f67b37682d.png.webp b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/3ee6415fabc4c61cce89a8f67b37682d.png.webp new file mode 100644 index 0000000000000000000000000000000000000000..37baad90d190b7d104da25895fa4662e926eb659 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/3ee6415fabc4c61cce89a8f67b37682d.png.webp differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/40d0c22287a72d71d1e644b8663ac649.png.webp b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/40d0c22287a72d71d1e644b8663ac649.png.webp new file mode 100644 index 0000000000000000000000000000000000000000..550245b8a60c12a7f59ef0040e4eaa89e738f4f5 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/40d0c22287a72d71d1e644b8663ac649.png.webp differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/426958b620854daa2476a38d05e585c7.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/426958b620854daa2476a38d05e585c7.png new file mode 100644 index 0000000000000000000000000000000000000000..5ee13ed1ae867e4578c08b5616328a0da69f7ffb Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/426958b620854daa2476a38d05e585c7.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/429a952480debe253f123205451d5405.png.webp b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/429a952480debe253f123205451d5405.png.webp new file mode 100644 index 0000000000000000000000000000000000000000..e8eb75ddf79d6b1ec7a86e46cdb220bb649150fc Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/429a952480debe253f123205451d5405.png.webp differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/43b78eca95faf30e0ef6729e014e05da.png.webp b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/43b78eca95faf30e0ef6729e014e05da.png.webp new file mode 100644 index 0000000000000000000000000000000000000000..550061ae2503f1c2f66b0d2c1390a7085885725d Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/43b78eca95faf30e0ef6729e014e05da.png.webp differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/4404bc00298b799ad3b7541e0cb0e8a0.jpg.webp b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/4404bc00298b799ad3b7541e0cb0e8a0.jpg.webp new file mode 100644 index 0000000000000000000000000000000000000000..5bab55aff92ff3ea5be14595ee78a14ecf9fa3e4 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/4404bc00298b799ad3b7541e0cb0e8a0.jpg.webp differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/4560eba42e1df1dad902f478b339664c.png.webp b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/4560eba42e1df1dad902f478b339664c.png.webp new file mode 100644 index 0000000000000000000000000000000000000000..f541b621c76bcf3692474d36f7f555b66c4d1563 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/4560eba42e1df1dad902f478b339664c.png.webp differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/47eec562b1f5c74184bffa663b2eda75.png.webp b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/47eec562b1f5c74184bffa663b2eda75.png.webp new file mode 100644 index 0000000000000000000000000000000000000000..f97ffebd46bab8a9d1d0d5b21a2760fecc46725c Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/47eec562b1f5c74184bffa663b2eda75.png.webp differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/48abdd1080c247f3c1595bec79a370ea.png.webp b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/48abdd1080c247f3c1595bec79a370ea.png.webp new file mode 100644 index 0000000000000000000000000000000000000000..c2ea71acdcd470a909359a8cdab8734b819f1d99 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/48abdd1080c247f3c1595bec79a370ea.png.webp differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/4920c34524e4916c4851e5ad6f5e1f07.png.webp b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/4920c34524e4916c4851e5ad6f5e1f07.png.webp new file mode 100644 index 0000000000000000000000000000000000000000..8ff86cbe7c3a43e3a4403b519e4361bbab2603f5 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/4920c34524e4916c4851e5ad6f5e1f07.png.webp differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/4bb70eec5ddf222107296c19adcfa6f7.jpg.webp b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/4bb70eec5ddf222107296c19adcfa6f7.jpg.webp new file mode 100644 index 0000000000000000000000000000000000000000..8b2d868a5e6aabda5bb9b289abfac9c931a7f37f Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/4bb70eec5ddf222107296c19adcfa6f7.jpg.webp differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/4c9fbc965b9a858e25deca4693f43ba0.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/4c9fbc965b9a858e25deca4693f43ba0.png new file mode 100644 index 0000000000000000000000000000000000000000..7bc745f189caaac498efe5122fec6b70b8f99a09 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/4c9fbc965b9a858e25deca4693f43ba0.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/4f8c28cb5f898c767129719361b34f49.png.webp b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/4f8c28cb5f898c767129719361b34f49.png.webp new file mode 100644 index 0000000000000000000000000000000000000000..9b78becfbb6dc92b875c91741fa09696e578c2db Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/4f8c28cb5f898c767129719361b34f49.png.webp differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/50937bd3a8d28070ec62068a0741395b.png.webp b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/50937bd3a8d28070ec62068a0741395b.png.webp new file mode 100644 index 0000000000000000000000000000000000000000..643bb9527b7576bae202f546c1715435f72a4576 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/50937bd3a8d28070ec62068a0741395b.png.webp differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/5259cc55a6efe4495cccc6c75dc7ac86.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/5259cc55a6efe4495cccc6c75dc7ac86.png new file mode 100644 index 0000000000000000000000000000000000000000..b69bf6a74944e0da9ab7975d9a4003114e0e8d2d Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/5259cc55a6efe4495cccc6c75dc7ac86.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/56db9c88ad0668915eac66487cbfa369.png.webp b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/56db9c88ad0668915eac66487cbfa369.png.webp new file mode 100644 index 0000000000000000000000000000000000000000..28675e2193ac9f9836f584e21a8b8de83d4c3336 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/56db9c88ad0668915eac66487cbfa369.png.webp differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/57400118b639bcce290beba82a6b5f0f.jpeg.webp b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/57400118b639bcce290beba82a6b5f0f.jpeg.webp new file mode 100644 index 0000000000000000000000000000000000000000..56fa5c4e428ea37e95f5abbd70608af3a1fc8be2 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/57400118b639bcce290beba82a6b5f0f.jpeg.webp differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/5924cd16d00efc183569e3d160bcbcce.jpg.webp b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/5924cd16d00efc183569e3d160bcbcce.jpg.webp new file mode 100644 index 0000000000000000000000000000000000000000..65c819176562d467691bbba66694f2999f50148c Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/5924cd16d00efc183569e3d160bcbcce.jpg.webp differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/596cd5e27796077f350c1fcaea105b95.png.webp b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/596cd5e27796077f350c1fcaea105b95.png.webp new file mode 100644 index 0000000000000000000000000000000000000000..23c51a8d7dddf67b2d74151435280cda38b0d992 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/596cd5e27796077f350c1fcaea105b95.png.webp differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/5a89a36950447719a22b560f2d7383d9.png.webp b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/5a89a36950447719a22b560f2d7383d9.png.webp new file mode 100644 index 0000000000000000000000000000000000000000..b7ec78f7620fe4d7859c77218a24c2e785f3fc44 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/5a89a36950447719a22b560f2d7383d9.png.webp differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/5c5fc9043682abf7d2e2d4265b4727bb.png.webp b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/5c5fc9043682abf7d2e2d4265b4727bb.png.webp new file mode 100644 index 0000000000000000000000000000000000000000..73fda5c0a715140ee2e653425c0ee4fa245a7336 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/5c5fc9043682abf7d2e2d4265b4727bb.png.webp differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/5cc680540f63e98284337f93a8e55981.png.webp b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/5cc680540f63e98284337f93a8e55981.png.webp new file mode 100644 index 0000000000000000000000000000000000000000..db72afaa6e3653502b697de71f644696340dc539 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/5cc680540f63e98284337f93a8e55981.png.webp differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/5cfeba8ee83b12845f3d5992071ee0a3.jpg.webp b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/5cfeba8ee83b12845f3d5992071ee0a3.jpg.webp new file mode 100644 index 0000000000000000000000000000000000000000..c958592be9d8a98321c230d2469e0a769af20e42 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/5cfeba8ee83b12845f3d5992071ee0a3.jpg.webp differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/5d6ccd49d90ebda7e31560206fd1ebaf.jpg.webp b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/5d6ccd49d90ebda7e31560206fd1ebaf.jpg.webp new file mode 100644 index 0000000000000000000000000000000000000000..cda0edd17554a3abdb2ec950914eaa47f842da2d Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/5d6ccd49d90ebda7e31560206fd1ebaf.jpg.webp differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/62fd9003ce19124e3d3b6008bd9911b1.jpg b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/62fd9003ce19124e3d3b6008bd9911b1.jpg new file mode 100644 index 0000000000000000000000000000000000000000..7a95ad5879fb036b4cbaedf02f666637eddbd904 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/62fd9003ce19124e3d3b6008bd9911b1.jpg differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/63490f937360e0456ab18fc26914daf3.png.webp b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/63490f937360e0456ab18fc26914daf3.png.webp new file mode 100644 index 0000000000000000000000000000000000000000..37ba5c799ec3170689873e5850f108ec35427bba Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/63490f937360e0456ab18fc26914daf3.png.webp differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/642352ec2453b12863c5217a9a40cae7.png.webp b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/642352ec2453b12863c5217a9a40cae7.png.webp new file mode 100644 index 0000000000000000000000000000000000000000..6eb66e81cb78b5b2b1958e8baba8a3e8130f559c Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/642352ec2453b12863c5217a9a40cae7.png.webp differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/6a9829dfe71b6247e2c45e5a2cbbaaef.png.webp b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/6a9829dfe71b6247e2c45e5a2cbbaaef.png.webp new file mode 100644 index 0000000000000000000000000000000000000000..015406fa0a8339a7bd888c949cc3dc5d9b07ae4b Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/6a9829dfe71b6247e2c45e5a2cbbaaef.png.webp differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/6af39909282d4fd7ed93413980a5c26f.jpg.webp b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/6af39909282d4fd7ed93413980a5c26f.jpg.webp new file mode 100644 index 0000000000000000000000000000000000000000..672fa5c9358cb28be2b2f36550f9a786390520ad Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/6af39909282d4fd7ed93413980a5c26f.jpg.webp differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/6cadc780e64022301539eb84b3eacc87.jpg.webp b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/6cadc780e64022301539eb84b3eacc87.jpg.webp new file mode 100644 index 0000000000000000000000000000000000000000..bc46dec92d554349e514921365b60d54291c82a1 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/6cadc780e64022301539eb84b3eacc87.jpg.webp differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/6ccafa48b92984cde4c3710b8a4eace8.png.webp b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/6ccafa48b92984cde4c3710b8a4eace8.png.webp new file mode 100644 index 0000000000000000000000000000000000000000..aef57389c802dc0a43e598e571568c5a4571e28c Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/6ccafa48b92984cde4c3710b8a4eace8.png.webp differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/6cf11d24d6fed154dcb5f6ed9e0b269e-1715766115362-30.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/6cf11d24d6fed154dcb5f6ed9e0b269e-1715766115362-30.png new file mode 100644 index 0000000000000000000000000000000000000000..31053f70f529770668dacdd07510840ae0f01770 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/6cf11d24d6fed154dcb5f6ed9e0b269e-1715766115362-30.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/6cf11d24d6fed154dcb5f6ed9e0b269e.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/6cf11d24d6fed154dcb5f6ed9e0b269e.png new file mode 100644 index 0000000000000000000000000000000000000000..31053f70f529770668dacdd07510840ae0f01770 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/6cf11d24d6fed154dcb5f6ed9e0b269e.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/6dc63b89c2a443afa1dcf94b190c77a1.png.webp b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/6dc63b89c2a443afa1dcf94b190c77a1.png.webp new file mode 100644 index 0000000000000000000000000000000000000000..0e85c6024fd128bfa4943bd6aeb8a3668bab2909 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/6dc63b89c2a443afa1dcf94b190c77a1.png.webp differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/711f0466fe222dfe80bf4980e6c0d9f3.jpeg.webp b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/711f0466fe222dfe80bf4980e6c0d9f3.jpeg.webp new file mode 100644 index 0000000000000000000000000000000000000000..365f237e44e72f4050377be598df92ba2d6813d4 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/711f0466fe222dfe80bf4980e6c0d9f3.jpeg.webp differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/714aabca13d204a1ccbf4417dab4e230.png.webp b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/714aabca13d204a1ccbf4417dab4e230.png.webp new file mode 100644 index 0000000000000000000000000000000000000000..8ebe9217e937d4e0dbacba244fcd69569a5ca006 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/714aabca13d204a1ccbf4417dab4e230.png.webp differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/75401d932cca3c0a13c8cd7058fe54bf.png.webp b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/75401d932cca3c0a13c8cd7058fe54bf.png.webp new file mode 100644 index 0000000000000000000000000000000000000000..962d0b9a7395cf6658c9c51aa9ec09b3ff73349d Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/75401d932cca3c0a13c8cd7058fe54bf.png.webp differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/7679565c65e9beefb7e40dbaa12932b0.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/7679565c65e9beefb7e40dbaa12932b0.png new file mode 100644 index 0000000000000000000000000000000000000000..74ae5d92e0ea23fc1e7c2c3c53d8f9ea9ec40cf7 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/7679565c65e9beefb7e40dbaa12932b0.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/770ed255cc8a362a3a63232a9363ae59.jpg.webp b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/770ed255cc8a362a3a63232a9363ae59.jpg.webp new file mode 100644 index 0000000000000000000000000000000000000000..61c2136c5f2604ff9e872fd5446d8da96d0fb720 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/770ed255cc8a362a3a63232a9363ae59.jpg.webp differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/7741afe82cb13205567304a8d48fb9ef.png.webp b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/7741afe82cb13205567304a8d48fb9ef.png.webp new file mode 100644 index 0000000000000000000000000000000000000000..2333dec5171f583fa6eea22ca37527536c2c894d Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/7741afe82cb13205567304a8d48fb9ef.png.webp differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/79b3728999a5231a3ea270acf903a276.png.webp b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/79b3728999a5231a3ea270acf903a276.png.webp new file mode 100644 index 0000000000000000000000000000000000000000..f59f3e9c943dceff3521daa8760d7ba064f59531 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/79b3728999a5231a3ea270acf903a276.png.webp differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/7c10fcc8a38e13e6c28366de0b1451a8.png.webp b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/7c10fcc8a38e13e6c28366de0b1451a8.png.webp new file mode 100644 index 0000000000000000000000000000000000000000..52dd2ee602bd6b63957133bceb383703f34d23f0 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/7c10fcc8a38e13e6c28366de0b1451a8.png.webp differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/7cba5210559942c632895d045d23f7f1.png.webp b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/7cba5210559942c632895d045d23f7f1.png.webp new file mode 100644 index 0000000000000000000000000000000000000000..181600cf7739a7e7f076266f2d05b9e7791466f9 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/7cba5210559942c632895d045d23f7f1.png.webp differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/7ebf6da273241cb0b85475d013aa68c3.png.webp b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/7ebf6da273241cb0b85475d013aa68c3.png.webp new file mode 100644 index 0000000000000000000000000000000000000000..771ecd15ba7188ffd9e1a26c70eb74745f810cfa Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/7ebf6da273241cb0b85475d013aa68c3.png.webp differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/7f02935fa7fa2c775e22fdaeb3c406e0.jpg.webp b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/7f02935fa7fa2c775e22fdaeb3c406e0.jpg.webp new file mode 100644 index 0000000000000000000000000000000000000000..b5db9ab732b31395667d747c5a5f15f9cb7eb1b5 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/7f02935fa7fa2c775e22fdaeb3c406e0.jpg.webp differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/80ba84d399a39bcf739f4080d08afcb6.png.webp b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/80ba84d399a39bcf739f4080d08afcb6.png.webp new file mode 100644 index 0000000000000000000000000000000000000000..0f2b68f359d48b9669cb7406eeeb0a8b64e90550 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/80ba84d399a39bcf739f4080d08afcb6.png.webp differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/83bd92b848b066bfffe7420e2521d2e5.jpg.webp b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/83bd92b848b066bfffe7420e2521d2e5.jpg.webp new file mode 100644 index 0000000000000000000000000000000000000000..b2bba783dc094f38750751a61f270287f39eb3bd Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/83bd92b848b066bfffe7420e2521d2e5.jpg.webp differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/83f138fec5600ffd4e5f25c673269b2f.png.webp b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/83f138fec5600ffd4e5f25c673269b2f.png.webp new file mode 100644 index 0000000000000000000000000000000000000000..3b9e31c12ddde4cd2d3e2817325096d9603fdf26 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/83f138fec5600ffd4e5f25c673269b2f.png.webp differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/848a4a6fd70ad4a1d54541365ce510c0.png.webp b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/848a4a6fd70ad4a1d54541365ce510c0.png.webp new file mode 100644 index 0000000000000000000000000000000000000000..bbf6cfa0c717b1593752851eab7bdbb9aa7407a0 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/848a4a6fd70ad4a1d54541365ce510c0.png.webp differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/88ba2fdd1ebd726b05dd502c3643a834.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/88ba2fdd1ebd726b05dd502c3643a834.png new file mode 100644 index 0000000000000000000000000000000000000000..cd4f5dbe5fe9ca1a61de84eec16879f6470051af Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/88ba2fdd1ebd726b05dd502c3643a834.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/8970f1cf8ae7907293cfae1c73e13d2b.png.webp b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/8970f1cf8ae7907293cfae1c73e13d2b.png.webp new file mode 100644 index 0000000000000000000000000000000000000000..67eedf51fba0417d409389bc744328eaff33d4a6 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/8970f1cf8ae7907293cfae1c73e13d2b.png.webp differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/89c7e4c9c9d8fdde745878b93f7792e4.png.webp b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/89c7e4c9c9d8fdde745878b93f7792e4.png.webp new file mode 100644 index 0000000000000000000000000000000000000000..4217fa9eeae77537a24d9db5e85b7a2e60f34404 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/89c7e4c9c9d8fdde745878b93f7792e4.png.webp differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/8af04d86d4e042f5ca725c74cc6dce05.png.webp b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/8af04d86d4e042f5ca725c74cc6dce05.png.webp new file mode 100644 index 0000000000000000000000000000000000000000..f18fca75c930f963fde900417f6120675cd25e3d Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/8af04d86d4e042f5ca725c74cc6dce05.png.webp differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/8af59ddaba35b9192bfd53fcb91b33b8.png.webp b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/8af59ddaba35b9192bfd53fcb91b33b8.png.webp new file mode 100644 index 0000000000000000000000000000000000000000..b5560334d0115d0a3080c24ecf7610b7b243c163 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/8af59ddaba35b9192bfd53fcb91b33b8.png.webp differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/8b9499c04462e8a19fad0a892364ec0e.png.webp b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/8b9499c04462e8a19fad0a892364ec0e.png.webp new file mode 100644 index 0000000000000000000000000000000000000000..8d9bebe6cd9910091e183152cc8975eb132dd07f Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/8b9499c04462e8a19fad0a892364ec0e.png.webp differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/8cb7aa1d2ee3adeaff7b3d191b8797c6.png.webp b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/8cb7aa1d2ee3adeaff7b3d191b8797c6.png.webp new file mode 100644 index 0000000000000000000000000000000000000000..ae725fcd16eb4cf19696e45f95e83962d5ddcc63 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/8cb7aa1d2ee3adeaff7b3d191b8797c6.png.webp differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/8d6a25aee7804d1d43064eeeb8cd493a.png.webp b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/8d6a25aee7804d1d43064eeeb8cd493a.png.webp new file mode 100644 index 0000000000000000000000000000000000000000..6ba5a6cde0abe4f18b4cdca7ead9297db0182648 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/8d6a25aee7804d1d43064eeeb8cd493a.png.webp differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/8f1334224f045fc314cd2b15f5b10f39.png.webp b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/8f1334224f045fc314cd2b15f5b10f39.png.webp new file mode 100644 index 0000000000000000000000000000000000000000..d54447b562f917f6052ea8b806ee5404d49ed397 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/8f1334224f045fc314cd2b15f5b10f39.png.webp differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/8f83da00e67b123eac7a3e0bf1827844.png.webp b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/8f83da00e67b123eac7a3e0bf1827844.png.webp new file mode 100644 index 0000000000000000000000000000000000000000..5450ff2697b60127c5f57f954deee0e6848ce1bb Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/8f83da00e67b123eac7a3e0bf1827844.png.webp differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/90f556609b2ee9f1e92f7f1efe02cb60.png.webp b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/90f556609b2ee9f1e92f7f1efe02cb60.png.webp new file mode 100644 index 0000000000000000000000000000000000000000..9494bb8f1d878a182ef38d34a7d09c7da1c8f9ae Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/90f556609b2ee9f1e92f7f1efe02cb60.png.webp differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/9786879e08e8133c5a0a89a148b69323.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/9786879e08e8133c5a0a89a148b69323.png new file mode 100644 index 0000000000000000000000000000000000000000..be2950119bf01d06f24ffdf0fe00fedd5d763106 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/9786879e08e8133c5a0a89a148b69323.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/985e287ac9cf6a2ee5eccaeb5b2f9c0b.png.webp b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/985e287ac9cf6a2ee5eccaeb5b2f9c0b.png.webp new file mode 100644 index 0000000000000000000000000000000000000000..c23e5de3a3b86bd2b2d63fd9f43b10e792d0acc4 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/985e287ac9cf6a2ee5eccaeb5b2f9c0b.png.webp differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/98d881a1c5bc3bb8abdb9ab1738fdd90.png.webp b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/98d881a1c5bc3bb8abdb9ab1738fdd90.png.webp new file mode 100644 index 0000000000000000000000000000000000000000..7edbc0c0a8df7ab877daaba02c20d4e3736d25a1 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/98d881a1c5bc3bb8abdb9ab1738fdd90.png.webp differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/a2389c17a10a9a1d62f2eaf572201dc4.png.webp b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/a2389c17a10a9a1d62f2eaf572201dc4.png.webp new file mode 100644 index 0000000000000000000000000000000000000000..99a8620cb934f830e56fee51736b713074d65fdd Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/a2389c17a10a9a1d62f2eaf572201dc4.png.webp differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/a33766bc3384c58d88e663b489aa8133.png.webp b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/a33766bc3384c58d88e663b489aa8133.png.webp new file mode 100644 index 0000000000000000000000000000000000000000..062005903ead1720074aa2c2970b06c9b6778d7a Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/a33766bc3384c58d88e663b489aa8133.png.webp differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/a71cb8711dc92319406ab747044baee6.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/a71cb8711dc92319406ab747044baee6.png new file mode 100644 index 0000000000000000000000000000000000000000..7df989df10a5f0dfed57fc4a531e79846fc9b57a Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/a71cb8711dc92319406ab747044baee6.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/a8991fd3481905328f06ec83b9cb974b.png.webp b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/a8991fd3481905328f06ec83b9cb974b.png.webp new file mode 100644 index 0000000000000000000000000000000000000000..1f544922f1a74b1aad0d5317b3b936c002ef232f Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/a8991fd3481905328f06ec83b9cb974b.png.webp differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/a9801c26cf9127feca6601d8ffd74e06.png.webp b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/a9801c26cf9127feca6601d8ffd74e06.png.webp new file mode 100644 index 0000000000000000000000000000000000000000..62d92c10207ee7548c3a988c626cd6dda25ab18c Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/a9801c26cf9127feca6601d8ffd74e06.png.webp differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/a9c754a2355391644b7afc928eacb668.png.webp b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/a9c754a2355391644b7afc928eacb668.png.webp new file mode 100644 index 0000000000000000000000000000000000000000..d3b11594841ca8517facfc22469b48a60be6fa09 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/a9c754a2355391644b7afc928eacb668.png.webp differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/aceae7e3145fa35b86ea751629751812.png.webp b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/aceae7e3145fa35b86ea751629751812.png.webp new file mode 100644 index 0000000000000000000000000000000000000000..2f58b8450353c82e1dee0da20b1ce25ff6705bd3 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/aceae7e3145fa35b86ea751629751812.png.webp differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/aea164defc29a08b25e677366542bc54.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/aea164defc29a08b25e677366542bc54.png new file mode 100644 index 0000000000000000000000000000000000000000..a91d090df1400f69509864fe266864b2a2ab99f5 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/aea164defc29a08b25e677366542bc54.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/af34ef50bf2bc5a977266a5ab2bd2056.png.webp b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/af34ef50bf2bc5a977266a5ab2bd2056.png.webp new file mode 100644 index 0000000000000000000000000000000000000000..68b56baf0f0412019e2946cecd2e533714db6d6f Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/af34ef50bf2bc5a977266a5ab2bd2056.png.webp differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/b0271df596af5c6dce47ffc8e35bd85d.png.webp b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/b0271df596af5c6dce47ffc8e35bd85d.png.webp new file mode 100644 index 0000000000000000000000000000000000000000..0d9bf6ef72db31ac5f12347f68db7516a0f84c14 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/b0271df596af5c6dce47ffc8e35bd85d.png.webp differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/b1a97b87d379d867ec4c3d84b55f50f4.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/b1a97b87d379d867ec4c3d84b55f50f4.png new file mode 100644 index 0000000000000000000000000000000000000000..d4f4f31c13344e71f4e48718e524c2f07c2b11fa Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/b1a97b87d379d867ec4c3d84b55f50f4.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/b2fa8334f13cccd843032c1639363896.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/b2fa8334f13cccd843032c1639363896.png new file mode 100644 index 0000000000000000000000000000000000000000..78decaa55b40a606b8a93b5bab70ce986965b882 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/b2fa8334f13cccd843032c1639363896.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/b4fb563dffe761dc010f645179c8e779.jpg.webp b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/b4fb563dffe761dc010f645179c8e779.jpg.webp new file mode 100644 index 0000000000000000000000000000000000000000..edc28da85a738461adfcb7106714a4cd85dcdbbf Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/b4fb563dffe761dc010f645179c8e779.jpg.webp differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/b548b3f64ac63a4798761182b7864de7.png.webp b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/b548b3f64ac63a4798761182b7864de7.png.webp new file mode 100644 index 0000000000000000000000000000000000000000..1bb10bebf2ffa88e27abfeec0a41c56482f3cf78 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/b548b3f64ac63a4798761182b7864de7.png.webp differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/b63f46230802d99ac1865bab7c7a118b.png-1715765775804-10.webp b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/b63f46230802d99ac1865bab7c7a118b.png-1715765775804-10.webp new file mode 100644 index 0000000000000000000000000000000000000000..e13b3b3cecd3ff1bfc31e4725418260e6c26f196 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/b63f46230802d99ac1865bab7c7a118b.png-1715765775804-10.webp differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/b63f46230802d99ac1865bab7c7a118b.png.webp b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/b63f46230802d99ac1865bab7c7a118b.png.webp new file mode 100644 index 0000000000000000000000000000000000000000..e13b3b3cecd3ff1bfc31e4725418260e6c26f196 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/b63f46230802d99ac1865bab7c7a118b.png.webp differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/b821ead302706bc1dc3b67cb4da640c8.png.webp b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/b821ead302706bc1dc3b67cb4da640c8.png.webp new file mode 100644 index 0000000000000000000000000000000000000000..6d7ab6c65582c1df13e7b985501c6c17748b4d28 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/b821ead302706bc1dc3b67cb4da640c8.png.webp differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/b87a84b554f7677f0ededd233322c864.png.webp b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/b87a84b554f7677f0ededd233322c864.png.webp new file mode 100644 index 0000000000000000000000000000000000000000..691b4e8233837b5134fdfc58301373f9a25872fc Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/b87a84b554f7677f0ededd233322c864.png.webp differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/b8853b4aee9d7c4c518ad78ee137105b.png.webp b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/b8853b4aee9d7c4c518ad78ee137105b.png.webp new file mode 100644 index 0000000000000000000000000000000000000000..5a6622b035d4ec45d0479872625d2d4b092a3b43 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/b8853b4aee9d7c4c518ad78ee137105b.png.webp differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/bbff441d2d32ae9a0bf026fd79eab87c.png.webp b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/bbff441d2d32ae9a0bf026fd79eab87c.png.webp new file mode 100644 index 0000000000000000000000000000000000000000..64b8ba497fc4620cf532367d171f8cf2d689c636 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/bbff441d2d32ae9a0bf026fd79eab87c.png.webp differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/bede06c9461abf808fee9d9b370b1823.png.webp b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/bede06c9461abf808fee9d9b370b1823.png.webp new file mode 100644 index 0000000000000000000000000000000000000000..eaeb3fdc71bb05236020e48b338e9aebab7c7ba2 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/bede06c9461abf808fee9d9b370b1823.png.webp differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/bfdf8686fe854d92e78351e903b39df6.jpg.webp b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/bfdf8686fe854d92e78351e903b39df6.jpg.webp new file mode 100644 index 0000000000000000000000000000000000000000..34f51e5e1657e6890757165f103cb1534060e384 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/bfdf8686fe854d92e78351e903b39df6.jpg.webp differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/c0229d82e75ca44807a0e3883780a75f.jpeg.webp b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/c0229d82e75ca44807a0e3883780a75f.jpeg.webp new file mode 100644 index 0000000000000000000000000000000000000000..9029ca4f9602d480bb2cce13dffa79eab67ac869 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/c0229d82e75ca44807a0e3883780a75f.jpeg.webp differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/c097e4b2574ed248e7f255e45b67f1cd.jpg.webp b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/c097e4b2574ed248e7f255e45b67f1cd.jpg.webp new file mode 100644 index 0000000000000000000000000000000000000000..c00d5530025a8526154c20b538ec9755386d8c4f Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/c097e4b2574ed248e7f255e45b67f1cd.jpg.webp differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/c1cc8f638ff9e7c307643d997e477b3c.png.webp b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/c1cc8f638ff9e7c307643d997e477b3c.png.webp new file mode 100644 index 0000000000000000000000000000000000000000..594df1e664f4b6ac952573fa74dc0f4930d875a5 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/c1cc8f638ff9e7c307643d997e477b3c.png.webp differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/c3bb0376720f368b9df8e056168da5c6.png.webp b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/c3bb0376720f368b9df8e056168da5c6.png.webp new file mode 100644 index 0000000000000000000000000000000000000000..d187ff8ef87cf6841fe81dcbc2916583f7a39ba2 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/c3bb0376720f368b9df8e056168da5c6.png.webp differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/c3ed51a593bd86f4959c3d0835181699.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/c3ed51a593bd86f4959c3d0835181699.png new file mode 100644 index 0000000000000000000000000000000000000000..8303281218cad953a598ce479bbad9fc89170c0b Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/c3ed51a593bd86f4959c3d0835181699.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/c4120dd502806b8606b8bcb61db05b17.jpg.webp b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/c4120dd502806b8606b8bcb61db05b17.jpg.webp new file mode 100644 index 0000000000000000000000000000000000000000..b90202b6343bd71ff5824e831206558d27106873 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/c4120dd502806b8606b8bcb61db05b17.jpg.webp differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/c6b5cc1f77f2ad1bcb3f91ee027f2022.jpg.webp b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/c6b5cc1f77f2ad1bcb3f91ee027f2022.jpg.webp new file mode 100644 index 0000000000000000000000000000000000000000..be2a9975c0cd75db174189a3021cb7eef227a307 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/c6b5cc1f77f2ad1bcb3f91ee027f2022.jpg.webp differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/c6e26c24cb379d5de560555c99573a57.png.webp b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/c6e26c24cb379d5de560555c99573a57.png.webp new file mode 100644 index 0000000000000000000000000000000000000000..7be11bbc3be9d9da4e626f434c775c449f64dbeb Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/c6e26c24cb379d5de560555c99573a57.png.webp differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/c857ac2f0efdb173b4ce984717972ecb.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/c857ac2f0efdb173b4ce984717972ecb.png new file mode 100644 index 0000000000000000000000000000000000000000..fa3f8b602ba479fa788fbe4957796cede999787b Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/c857ac2f0efdb173b4ce984717972ecb.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/c8751d830a760d5c6c2ec7386cef35c7.png.webp b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/c8751d830a760d5c6c2ec7386cef35c7.png.webp new file mode 100644 index 0000000000000000000000000000000000000000..c46b27384d096c31afcd9b155095bb37739e7b8a Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/c8751d830a760d5c6c2ec7386cef35c7.png.webp differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/ca01f936fc4cdc75820c953022613832.png.webp b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/ca01f936fc4cdc75820c953022613832.png.webp new file mode 100644 index 0000000000000000000000000000000000000000..c4bef761e952d43f14818edacd7a87c3f08edbdf Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/ca01f936fc4cdc75820c953022613832.png.webp differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/cccf86dc77e48b1dee1488aab1d892da.jpg.webp b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/cccf86dc77e48b1dee1488aab1d892da.jpg.webp new file mode 100644 index 0000000000000000000000000000000000000000..833fd6e35a6aa3e66eb5c2ffc9d2c79772199840 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/cccf86dc77e48b1dee1488aab1d892da.jpg.webp differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/d00896fd2bbbaef6541d2d8766614c8d.png.webp b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/d00896fd2bbbaef6541d2d8766614c8d.png.webp new file mode 100644 index 0000000000000000000000000000000000000000..eb4ef4e34f6d6423a59038405088c3b129afe2d5 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/d00896fd2bbbaef6541d2d8766614c8d.png.webp differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/d6124793a15075a72507807e87276a38.png.webp b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/d6124793a15075a72507807e87276a38.png.webp new file mode 100644 index 0000000000000000000000000000000000000000..aa65bc690b82f1a865cb994303315666579dc055 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/d6124793a15075a72507807e87276a38.png.webp differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/d6eb12a1cd0a2450cf7350530ae937e0.png.webp b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/d6eb12a1cd0a2450cf7350530ae937e0.png.webp new file mode 100644 index 0000000000000000000000000000000000000000..0e63d14436e42aa48550d2cd70f0ba1955f93c29 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/d6eb12a1cd0a2450cf7350530ae937e0.png.webp differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/d790c66435258eb5e5123f3d1d26e2ef.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/d790c66435258eb5e5123f3d1d26e2ef.png new file mode 100644 index 0000000000000000000000000000000000000000..fc0e6898f116b2cb88c4827ea48590093a5d59f0 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/d790c66435258eb5e5123f3d1d26e2ef.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/d79c80c396eee92773810a6030d3b18d.png.webp b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/d79c80c396eee92773810a6030d3b18d.png.webp new file mode 100644 index 0000000000000000000000000000000000000000..5f6d1c95bc5e804ee96fee0f7e74729f0045cdd4 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/d79c80c396eee92773810a6030d3b18d.png.webp differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/db453591d2783a724ade8f158a95c046.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/db453591d2783a724ade8f158a95c046.png new file mode 100644 index 0000000000000000000000000000000000000000..0c240b3ff4453a2549501adc0009965bbb058e41 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/db453591d2783a724ade8f158a95c046.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/dba11b8999a6f1ce01e33d11c348cbc4.png.webp b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/dba11b8999a6f1ce01e33d11c348cbc4.png.webp new file mode 100644 index 0000000000000000000000000000000000000000..56130ca10bed0c12b807b88a55d4f9f497fed517 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/dba11b8999a6f1ce01e33d11c348cbc4.png.webp differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/dbf0330e097162594348253c8747111c.png.webp b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/dbf0330e097162594348253c8747111c.png.webp new file mode 100644 index 0000000000000000000000000000000000000000..6d36c2dd77adbc570f3056aa0d62fed8fd17a4ca Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/dbf0330e097162594348253c8747111c.png.webp differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/dca2e3579fadeb092cfef85d2846bb53.png.webp b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/dca2e3579fadeb092cfef85d2846bb53.png.webp new file mode 100644 index 0000000000000000000000000000000000000000..2074448d963bcca2e1b23c0188d1b541d725f4bb Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/dca2e3579fadeb092cfef85d2846bb53.png.webp differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/dcb607b182825007d8f594a23bdff167.png.webp b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/dcb607b182825007d8f594a23bdff167.png.webp new file mode 100644 index 0000000000000000000000000000000000000000..b93209d3e0104a97e79259b9612b421bfdae8b62 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/dcb607b182825007d8f594a23bdff167.png.webp differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/dce96a7e3e247bca8035275cd224febf.png.webp b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/dce96a7e3e247bca8035275cd224febf.png.webp new file mode 100644 index 0000000000000000000000000000000000000000..a619e1bc548134bb53806c024a0be86cd6187117 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/dce96a7e3e247bca8035275cd224febf.png.webp differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/e36e8d49471058cf8a094528acccdcc9.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/e36e8d49471058cf8a094528acccdcc9.png new file mode 100644 index 0000000000000000000000000000000000000000..8ffbced69b5ad1c7bca35be2386a06b4aa38095d Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/e36e8d49471058cf8a094528acccdcc9.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/e37f39ed10aa4732514bd9d532f6a833.jpg.webp b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/e37f39ed10aa4732514bd9d532f6a833.jpg.webp new file mode 100644 index 0000000000000000000000000000000000000000..bbf1328f36ac527a1c7392462f17dcc6d100f26f Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/e37f39ed10aa4732514bd9d532f6a833.jpg.webp differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/e82a322731300449885ff3338b784d6f.jpg.webp b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/e82a322731300449885ff3338b784d6f.jpg.webp new file mode 100644 index 0000000000000000000000000000000000000000..69fdd65156d710194b1de757e61cc279687ac506 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/e82a322731300449885ff3338b784d6f.jpg.webp differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/e8aa88af155f347774f2c7ea37034be3.png.webp b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/e8aa88af155f347774f2c7ea37034be3.png.webp new file mode 100644 index 0000000000000000000000000000000000000000..87a844397d46b1b50aaf53f53c85cc8ee42148b2 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/e8aa88af155f347774f2c7ea37034be3.png.webp differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/e9faca683c5de47b560fae07bb833e25.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/e9faca683c5de47b560fae07bb833e25.png new file mode 100644 index 0000000000000000000000000000000000000000..fb34b9f0d8d8bbf496c4365ce0f5c296791f1b35 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/e9faca683c5de47b560fae07bb833e25.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/ed35ee19ce823aac3a4cadabcad45660.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/ed35ee19ce823aac3a4cadabcad45660.png new file mode 100644 index 0000000000000000000000000000000000000000..4f9b6b576359315ec3700d14f2f2a77cabd57080 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/ed35ee19ce823aac3a4cadabcad45660.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/ef4ca8dcd2c9d1fbb71ff1d80a5d8e78.png.webp b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/ef4ca8dcd2c9d1fbb71ff1d80a5d8e78.png.webp new file mode 100644 index 0000000000000000000000000000000000000000..e1a919de445bea4b1ece967ef05b7ca41834016b Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/ef4ca8dcd2c9d1fbb71ff1d80a5d8e78.png.webp differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/f0dec49902b1afd07a0561c28cf5a338.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/f0dec49902b1afd07a0561c28cf5a338.png new file mode 100644 index 0000000000000000000000000000000000000000..2b3363db6dac14cde64a8dfe0f7f273a48107931 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/f0dec49902b1afd07a0561c28cf5a338.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/f38acc309cec1ac63e80fbb5cd208943.png.webp b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/f38acc309cec1ac63e80fbb5cd208943.png.webp new file mode 100644 index 0000000000000000000000000000000000000000..e36712d966aee26be41d474a86554cfc6f05ee3a Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/f38acc309cec1ac63e80fbb5cd208943.png.webp differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/f3dba687a3709bfdfe131adeaa9549f8.jpg.webp b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/f3dba687a3709bfdfe131adeaa9549f8.jpg.webp new file mode 100644 index 0000000000000000000000000000000000000000..aa1dc9edf213366f29dcdc99e63c3c052296774f Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/f3dba687a3709bfdfe131adeaa9549f8.jpg.webp differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/f75c98440c960266e512dd838242397d.png.webp b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/f75c98440c960266e512dd838242397d.png.webp new file mode 100644 index 0000000000000000000000000000000000000000..143ef6a40739978a9a7a1548429fad25a6e521af Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/f75c98440c960266e512dd838242397d.png.webp differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/f7b626883862e0927647be5b1d05be98.jpeg.webp b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/f7b626883862e0927647be5b1d05be98.jpeg.webp new file mode 100644 index 0000000000000000000000000000000000000000..a91ac558a614faa926aef9837b0c0589a0d5f5af Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/f7b626883862e0927647be5b1d05be98.jpeg.webp differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/f8120f0dadbd9e320c246043e035a874.png.webp b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/f8120f0dadbd9e320c246043e035a874.png.webp new file mode 100644 index 0000000000000000000000000000000000000000..ccdff34890ff01efd08ca5a6183515ea0f8ef905 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/f8120f0dadbd9e320c246043e035a874.png.webp differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/f878318c626e168ffe08762d22dbdd02.png-1715765679310-7.webp b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/f878318c626e168ffe08762d22dbdd02.png-1715765679310-7.webp new file mode 100644 index 0000000000000000000000000000000000000000..2f89810254fba016eed8c887b93a2e9b5cbed585 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/f878318c626e168ffe08762d22dbdd02.png-1715765679310-7.webp differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/f878318c626e168ffe08762d22dbdd02.png.webp b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/f878318c626e168ffe08762d22dbdd02.png.webp new file mode 100644 index 0000000000000000000000000000000000000000..2f89810254fba016eed8c887b93a2e9b5cbed585 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/f878318c626e168ffe08762d22dbdd02.png.webp differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/f881b5509653cef4d4b1f70b69d773f8.png.webp b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/f881b5509653cef4d4b1f70b69d773f8.png.webp new file mode 100644 index 0000000000000000000000000000000000000000..48c8aed3e8ab2884a344c462ce9fec57a29765d0 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/f881b5509653cef4d4b1f70b69d773f8.png.webp differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/fa588e4d21df5725c967f89c0c7e6ba9.png.webp b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/fa588e4d21df5725c967f89c0c7e6ba9.png.webp new file mode 100644 index 0000000000000000000000000000000000000000..b365f35537118ad5540688cd69bb9993c7752ad0 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/fa588e4d21df5725c967f89c0c7e6ba9.png.webp differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/fb54b30906093dd731fa2d8647c9c00d.jpg.webp b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/fb54b30906093dd731fa2d8647c9c00d.jpg.webp new file mode 100644 index 0000000000000000000000000000000000000000..bfb684e45c94f93ddc4968fb16151ecddc16d910 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/fb54b30906093dd731fa2d8647c9c00d.jpg.webp differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/fb78af5b35288c7b25b7e668ede1b117.jpg.webp b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/fb78af5b35288c7b25b7e668ede1b117.jpg.webp new file mode 100644 index 0000000000000000000000000000000000000000..6df495c8937c94e0ce6cf801074b8df6778f1b60 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/fb78af5b35288c7b25b7e668ede1b117.jpg.webp differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/fceddd53a1ad50c4a7148f6103f7484c.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/fceddd53a1ad50c4a7148f6103f7484c.png new file mode 100644 index 0000000000000000000000000000000000000000..89d0988d0cdaa99ddaa39fcbe575a8b79bba4177 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/fceddd53a1ad50c4a7148f6103f7484c.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/fcf7307b4ecc252fd5cb1e56667eabc5.png.webp b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/fcf7307b4ecc252fd5cb1e56667eabc5.png.webp new file mode 100644 index 0000000000000000000000000000000000000000..98a25ee32ddd83d2814c23fb7ff699af518e8cef Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/fcf7307b4ecc252fd5cb1e56667eabc5.png.webp differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/image-20240515195831420.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/image-20240515195831420.png new file mode 100644 index 0000000000000000000000000000000000000000..a9340e58ef67daf9b2f832a233d9f1d92d6dade4 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/image-20240515195831420.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgZomY7k_aAfyiEAAEjYKB5C4s254.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgZomY7k_aAfyiEAAEjYKB5C4s254.png new file mode 100644 index 0000000000000000000000000000000000000000..8e02589dced3a6bcdbcb03f1aec7e231a9e5d9d7 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgZomY7k_aAfyiEAAEjYKB5C4s254.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgZomY7k_eAaxYDAAD1Xgz1kgA293.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgZomY7k_eAaxYDAAD1Xgz1kgA293.png new file mode 100644 index 0000000000000000000000000000000000000000..bcd81a4ccbc169cd09dae8d48b9daf4c89861529 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgZomY7k_eAaxYDAAD1Xgz1kgA293.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgZomY7kx2Adz_VAADx7Vp_J3c542.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgZomY7kx2Adz_VAADx7Vp_J3c542.png new file mode 100644 index 0000000000000000000000000000000000000000..8e585d95f2260a3ba957551499de70ad5ff20326 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgZomY7kx2Adz_VAADx7Vp_J3c542.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgZomY7lliAW2T5AAE9Op1LuwM476.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgZomY7lliAW2T5AAE9Op1LuwM476.png new file mode 100644 index 0000000000000000000000000000000000000000..13341cfbc93f93a193ac09e78fd8cbb4ea3342e7 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgZomY7lliAW2T5AAE9Op1LuwM476.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgZomY7llmAd_ooAADG9OXVAoc100-1715824965435-39.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgZomY7llmAd_ooAADG9OXVAoc100-1715824965435-39.png new file mode 100644 index 0000000000000000000000000000000000000000..eba86807d16d67058ee9e65848cad3e283195bf6 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgZomY7llmAd_ooAADG9OXVAoc100-1715824965435-39.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgZomY7llmAd_ooAADG9OXVAoc100.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgZomY7llmAd_ooAADG9OXVAoc100.png new file mode 100644 index 0000000000000000000000000000000000000000..eba86807d16d67058ee9e65848cad3e283195bf6 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgZomY7llmAd_ooAADG9OXVAoc100.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgZomY_KuaAZOtBAAE00kxQ4uo912.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgZomY_KuaAZOtBAAE00kxQ4uo912.png new file mode 100644 index 0000000000000000000000000000000000000000..1bd43ea37aa17ccad01fb654fc51f36a111b999f Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgZomY_KuaAZOtBAAE00kxQ4uo912.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgZomY_LPGAf4T1AAB-f8fZZrg918.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgZomY_LPGAf4T1AAB-f8fZZrg918.png new file mode 100644 index 0000000000000000000000000000000000000000..ffbf1b478b993d6cf0727bd4c2b31b7f3081b395 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgZomY_LPGAf4T1AAB-f8fZZrg918.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgZomY_LPKAThQ9AABG8BQOdhs178.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgZomY_LPKAThQ9AABG8BQOdhs178.png new file mode 100644 index 0000000000000000000000000000000000000000..42f7b248576ff4db0ea2ffc9828f17a4120de1c8 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgZomY_LPKAThQ9AABG8BQOdhs178.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgZomY_LX2AQFQWAAEQ2W8OIYQ621.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgZomY_LX2AQFQWAAEQ2W8OIYQ621.png new file mode 100644 index 0000000000000000000000000000000000000000..f66509a8cf7ad179f935bd773a280b5cd2685982 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgZomY_LX2AQFQWAAEQ2W8OIYQ621.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgZomY_L_mAc208AAFd9lFVReQ562.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgZomY_L_mAc208AAFd9lFVReQ562.png new file mode 100644 index 0000000000000000000000000000000000000000..808b4b4f4abebf256659e595c72a783e1c96b11a Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgZomY_L_mAc208AAFd9lFVReQ562.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgZomY_LgGAYpquAADY5qFl8DU455.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgZomY_LgGAYpquAADY5qFl8DU455.png new file mode 100644 index 0000000000000000000000000000000000000000..ff0191f665fc827d380a94077570fbe432e0b5b9 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgZomY_LgGAYpquAADY5qFl8DU455.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgZomY_LsqAMMohAADYaSHGYH8776.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgZomY_LsqAMMohAADYaSHGYH8776.png new file mode 100644 index 0000000000000000000000000000000000000000..4d52f2131f19d87629bc40e15df7c8281802f298 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgZomY_LsqAMMohAADYaSHGYH8776.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgZomY_MdiAZ-c1AAFSsrBNfNg777.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgZomY_MdiAZ-c1AAFSsrBNfNg777.png new file mode 100644 index 0000000000000000000000000000000000000000..ec3d59e81f3bdee5f5bf7e06726d6ec6a7dd5716 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgZomY_MdiAZ-c1AAFSsrBNfNg777.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgZomYmg72AQS53AAA-ppVZirU527.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgZomYmg72AQS53AAA-ppVZirU527.png new file mode 100644 index 0000000000000000000000000000000000000000..dc07d1d78f39e92ef9cbbdff2aca6fa4580180c5 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgZomYmg72AQS53AAA-ppVZirU527.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgZomYmgSGAQltVAAT6B8GN8-U099.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgZomYmgSGAQltVAAT6B8GN8-U099.png new file mode 100644 index 0000000000000000000000000000000000000000..271396a7ce8fb1a2111d7779a9e24a0934a5670e Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgZomYmgSGAQltVAAT6B8GN8-U099.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgZomYmgaWADQlnAAD1Iqrb7yA792.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgZomYmgaWADQlnAAD1Iqrb7yA792.png new file mode 100644 index 0000000000000000000000000000000000000000..9de9bc6d4dfec8402861aad890a650e7ea8ef02a Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgZomYmgaWADQlnAAD1Iqrb7yA792.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgZomYmh1OAUCXxAAD9i_Y923M124.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgZomYmh1OAUCXxAAD9i_Y923M124.png new file mode 100644 index 0000000000000000000000000000000000000000..929eaf594d9e22b7097dc58ce87df4ff491e28b4 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgZomYmh1OAUCXxAAD9i_Y923M124.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgZomYmh7mAMc0dAAEGi3P2ja0179.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgZomYmh7mAMc0dAAEGi3P2ja0179.png new file mode 100644 index 0000000000000000000000000000000000000000..2b8c2bd105e15a6367b5569703fa258c82c0f74c Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgZomYmh7mAMc0dAAEGi3P2ja0179.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgZomYmhneAOXo4AAD-tcpVVMo906.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgZomYmhneAOXo4AAD-tcpVVMo906.png new file mode 100644 index 0000000000000000000000000000000000000000..dbb64a110f7e9de3847e669998e3a41cd3ec10cf Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgZomYmhneAOXo4AAD-tcpVVMo906.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgZomYmhtqAcbmfAADGHvYsDSY298.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgZomYmhtqAcbmfAADGHvYsDSY298.png new file mode 100644 index 0000000000000000000000000000000000000000..97aab1b03a01c8a3189e2648aa037494aaa1e5d7 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgZomYmhtqAcbmfAADGHvYsDSY298.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgZomYoy3aAJttuAAFdHMeSWgI942.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgZomYoy3aAJttuAAFdHMeSWgI942.png new file mode 100644 index 0000000000000000000000000000000000000000..c31da025b2a449941868985bc9cfb7874b895768 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgZomYoy3aAJttuAAFdHMeSWgI942.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgZomYoy5-ADi33AAD6G_-5uXI078.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgZomYoy5-ADi33AAD6G_-5uXI078.png new file mode 100644 index 0000000000000000000000000000000000000000..7143ff6fbba4cba381816a804c0b18a82b3b8019 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgZomYoy5-ADi33AAD6G_-5uXI078.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgZomYoy5SAJHn8AAJkUV4GZfQ023.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgZomYoy5SAJHn8AAJkUV4GZfQ023.png new file mode 100644 index 0000000000000000000000000000000000000000..7935e3c3474ff929595837c71b0acd5278c886a8 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgZomYoy5SAJHn8AAJkUV4GZfQ023.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgZomYsShSAZP2pAADddszGO4A876.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgZomYsShSAZP2pAADddszGO4A876.png new file mode 100644 index 0000000000000000000000000000000000000000..9f1e86cc2b1ae15e70f5ec81ef6ac04a04d689b1 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgZomYsShSAZP2pAADddszGO4A876.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgZomYsShqASZ7YAALBXIfdfKY529.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgZomYsShqASZ7YAALBXIfdfKY529.png new file mode 100644 index 0000000000000000000000000000000000000000..ded91037c6263cfe21445e7d79f51d4408f53cf7 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgZomYsShqASZ7YAALBXIfdfKY529.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgZomYsSlaAIqRYAAECy_tkZhI852.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgZomYsSlaAIqRYAAECy_tkZhI852.png new file mode 100644 index 0000000000000000000000000000000000000000..7e053924078b552f537d3a0233d9d35f3aa68d30 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgZomYsSlaAIqRYAAECy_tkZhI852.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgZomYsSquAA8muAAIaicrsmwM065.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgZomYsSquAA8muAAIaicrsmwM065.png new file mode 100644 index 0000000000000000000000000000000000000000..79183a36ad4094d5a4248bf40c5a374c662932e7 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgZomYsSquAA8muAAIaicrsmwM065.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgZomYsStGAJpVEAADHKnPyGJs633.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgZomYsStGAJpVEAADHKnPyGJs633.png new file mode 100644 index 0000000000000000000000000000000000000000..98857984d24eef2de6f8764eb2ca9baeaa2ddb01 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgZomYsStGAJpVEAADHKnPyGJs633.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgZomZB2xOAF4J3AAItsyrSEwc106.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgZomZB2xOAF4J3AAItsyrSEwc106.png new file mode 100644 index 0000000000000000000000000000000000000000..eed0851c4582dd22cbf10e4159e84a35c52645c4 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgZomZB2xOAF4J3AAItsyrSEwc106.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgaomY7k_mAWoWYAACxFSk1UIA034.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgaomY7k_mAWoWYAACxFSk1UIA034.png new file mode 100644 index 0000000000000000000000000000000000000000..4ae21b4d31066b0bbb12db9f83aaf55d355a830f Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgaomY7k_mAWoWYAACxFSk1UIA034.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgaomY7kiaAN94IAAI1-gKDRIA344.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgaomY7kiaAN94IAAI1-gKDRIA344.png new file mode 100644 index 0000000000000000000000000000000000000000..d4d04c4bd1d8ab30da273f481b955c47735b5d04 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgaomY7kiaAN94IAAI1-gKDRIA344.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgaomY7kx6AaqNjAAE-p3lxS6c982.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgaomY7kx6AaqNjAAE-p3lxS6c982.png new file mode 100644 index 0000000000000000000000000000000000000000..c8f1810a2b35484b41516b895dcb8569bd1af384 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgaomY7kx6AaqNjAAE-p3lxS6c982.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgaomY7l7KAMAa3AAC5qhnHcCw082.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgaomY7l7KAMAa3AAC5qhnHcCw082.png new file mode 100644 index 0000000000000000000000000000000000000000..0e55f1c593b9bb5fbca5f910b7f49cbb90a94445 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgaomY7l7KAMAa3AAC5qhnHcCw082.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgaomY7lZqABPNOAACJbGwNGbI477.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgaomY7lZqABPNOAACJbGwNGbI477.png new file mode 100644 index 0000000000000000000000000000000000000000..d1597c6e2f383712a906102fa94f30cc1b5a30dd Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgaomY7lZqABPNOAACJbGwNGbI477.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgaomY_LPKAdy60AAB5Or8NFy4074.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgaomY_LPKAdy60AAB5Or8NFy4074.png new file mode 100644 index 0000000000000000000000000000000000000000..a0feb914858d3261d94bd305bb37f4e1b78e9330 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgaomY_LPKAdy60AAB5Or8NFy4074.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgaomY_L_mAKWCpAAF6irgdw_Y632.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgaomY_L_mAKWCpAAF6irgdw_Y632.png new file mode 100644 index 0000000000000000000000000000000000000000..c5d6ef4a7955ec0a6017fae0e3e9c88646bdeeb9 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgaomY_L_mAKWCpAAF6irgdw_Y632.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgaomY_LgGAVqYUAAFaVB3n818984.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgaomY_LgGAVqYUAAFaVB3n818984.png new file mode 100644 index 0000000000000000000000000000000000000000..2890691c5258b3f971c42192c4ebcef43b38c193 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgaomY_LgGAVqYUAAFaVB3n818984.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgaomY_LsqAcBWTAADC24yF-D8556.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgaomY_LsqAcBWTAADC24yF-D8556.png new file mode 100644 index 0000000000000000000000000000000000000000..e440300b8f49b1e909fc34b475cebd2f755ddf80 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgaomY_LsqAcBWTAADC24yF-D8556.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgaomYmfzyAJNOxAAEZkvfOPqk755.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgaomYmfzyAJNOxAAEZkvfOPqk755.png new file mode 100644 index 0000000000000000000000000000000000000000..f0fb6723fb336163d6e08fb9838e24174aebb2cf Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgaomYmfzyAJNOxAAEZkvfOPqk755.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgaomYmgnqAeFEgAAItMESsuDs116.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgaomYmgnqAeFEgAAItMESsuDs116.png new file mode 100644 index 0000000000000000000000000000000000000000..32455ae222be6c0f3d98b38c949d1ef43c5be0e2 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgaomYmgnqAeFEgAAItMESsuDs116.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgaomYmgzKAWuI0AAMiefBoZHw137.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgaomYmgzKAWuI0AAMiefBoZHw137.png new file mode 100644 index 0000000000000000000000000000000000000000..bb8de6076df6f600c490ee3f1f5a593a71ec0032 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgaomYmgzKAWuI0AAMiefBoZHw137.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgaomYmhICAXLebAAIFfSodhnY464.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgaomYmhICAXLebAAIFfSodhnY464.png new file mode 100644 index 0000000000000000000000000000000000000000..47282969c74dc5ae973c4f1f307f30c3a3d5bd5a Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgaomYmhICAXLebAAIFfSodhnY464.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgaomYoy0qAIYrOAAIYJjSHICA445.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgaomYoy0qAIYrOAAIYJjSHICA445.png new file mode 100644 index 0000000000000000000000000000000000000000..d27e43f65736e993cabcd86b5da260abea8c7b50 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgaomYoy0qAIYrOAAIYJjSHICA445.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgaomYoy36AWztIAAEnH5IoA9g071.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgaomYoy36AWztIAAEnH5IoA9g071.png new file mode 100644 index 0000000000000000000000000000000000000000..3f6c8a9e5d63666f49b2b5af7c4eb0863ade0604 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgaomYoy36AWztIAAEnH5IoA9g071.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgaomYoy3KAU1VyAAFA-ptUuZg444.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgaomYoy3KAU1VyAAFA-ptUuZg444.png new file mode 100644 index 0000000000000000000000000000000000000000..09bf023efb017f17b4518dfab4ad07ef48803797 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgaomYoy3KAU1VyAAFA-ptUuZg444.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgaomYoy46AQtA-AAE6Rc-mYjk938.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgaomYoy46AQtA-AAE6Rc-mYjk938.png new file mode 100644 index 0000000000000000000000000000000000000000..4a5ec3a8619d3a743429557715d66063e655b4cf Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgaomYoy46AQtA-AAE6Rc-mYjk938.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgaomYoy4mATbhDAAEC7OW2HGE577.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgaomYoy4mATbhDAAEC7OW2HGE577.png new file mode 100644 index 0000000000000000000000000000000000000000..4fb417737c0e56a10ec5d36629bc9f4713df4228 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgaomYoy4mATbhDAAEC7OW2HGE577.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgaomYoy5mAfjpwAAHpUULAgfc814.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgaomYoy5mAfjpwAAHpUULAgfc814.png new file mode 100644 index 0000000000000000000000000000000000000000..e7ec3ba67e3f2770af24ccd5013360533d7fab86 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgaomYoy5mAfjpwAAHpUULAgfc814.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgaomYoy7KAT6ApAAFRMwcec50602.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgaomYoy7KAT6ApAAFRMwcec50602.png new file mode 100644 index 0000000000000000000000000000000000000000..74259c87cc5d75bcbded2344485b1c8b60395535 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgaomYoy7KAT6ApAAFRMwcec50602.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgaomYoyyaAbirJAAAhLbT1XCw150.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgaomYoyyaAbirJAAAhLbT1XCw150.png new file mode 100644 index 0000000000000000000000000000000000000000..bc9c8ed988eb4c24e7c7105a8bab6cd7728b7522 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgaomYoyyaAbirJAAAhLbT1XCw150.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgaomYsNJOAZMDEAAEn25Hf4k0124.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgaomYsNJOAZMDEAAEn25Hf4k0124.png new file mode 100644 index 0000000000000000000000000000000000000000..e7c3585076f4a335cf0b60e6f7d81bff717f18d8 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgaomYsNJOAZMDEAAEn25Hf4k0124.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgaomYsSnSAAMHnAAH3s_aYnI0202.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgaomYsSnSAAMHnAAH3s_aYnI0202.png new file mode 100644 index 0000000000000000000000000000000000000000..77df0f2da0f5257702e6987e9db1a958dda3e48a Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgaomYsSnSAAMHnAAH3s_aYnI0202.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgaomYsSoWAIIEQAACx9aKkcNQ688.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgaomYsSoWAIIEQAACx9aKkcNQ688.png new file mode 100644 index 0000000000000000000000000000000000000000..117472e4c2bca9abdfe1dfd9cd82a8943b119074 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgaomYsSoWAIIEQAACx9aKkcNQ688.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgaomYsSpyAHdRiAAH__jI-TPQ335.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgaomYsSpyAHdRiAAH__jI-TPQ335.png new file mode 100644 index 0000000000000000000000000000000000000000..03359c5dc57ceb0acf8de5e361908046282b01e2 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgaomYsSpyAHdRiAAH__jI-TPQ335.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgaomYsSrqAbCKkAAGfzumb8tk268.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgaomYsSrqAbCKkAAGfzumb8tk268.png new file mode 100644 index 0000000000000000000000000000000000000000..7949bb62ec76ffbece5d55f7f160e28f454bc52e Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgaomYsSrqAbCKkAAGfzumb8tk268.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgaomYsSuCAdyQIAADTh7GHFks820.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgaomYsSuCAdyQIAADTh7GHFks820.png new file mode 100644 index 0000000000000000000000000000000000000000..919c8f61453e6438bb19ea1bfc3a4cdb9c6142cc Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgaomYsSuCAdyQIAADTh7GHFks820.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgaomYsSvaAXN_9AACLcFC4eXk034.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgaomYsSvaAXN_9AACLcFC4eXk034.png new file mode 100644 index 0000000000000000000000000000000000000000..67db97d2683f660422008265a7ba1f66228ef8aa Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/picture/wKgaomYsSvaAXN_9AACLcFC4eXk034.png differ diff --git "a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/\347\221\236\350\220\250VisionBoard\345\274\200\345\217\221\345\256\236\350\267\265\346\214\207\345\215\227.md" "b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/\347\221\236\350\220\250VisionBoard\345\274\200\345\217\221\345\256\236\350\267\265\346\214\207\345\215\227.md" new file mode 100644 index 0000000000000000000000000000000000000000..d268343c62710d7cf3ec7963c88b17ea936c2928 --- /dev/null +++ "b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/\347\221\236\350\220\250VisionBoard\345\274\200\345\217\221\345\256\236\350\267\265\346\214\207\345\215\227.md" @@ -0,0 +1,3494 @@ +# Vision Board开发实践指南 + +| 目录 | 作者 | +| -------------------------------------------- | ------------------------ | +| **零、实践指南说明** | **RT-Thread & 瑞萨电子** | +| **一、RA8D1 Vision Board上的UART实践** | **刘建华ou** | +| **二、RA8D1 Vision Board上的GPIO实践** | **朱俊杰** | +| **三、RA8D1 Vision Board上的USB实践** | **Mak&&湛政** | +| **四、RA8D1 Vision Board上的HWTimer实践** | **TODO** | +| **五、RA8D1 Vision Board上的SDHC实践** | **Jisheng Zhang** | +| **六、RA8D1 Vision Board上的ADC实践** | **侯泽华** | +| **七、RA8D1 Vision Board上的DAC实践** | **陈妙聪** | +| **八、RA8D1 Vision Board上的 SPI 实践** | **谢小龙** | +| **九、RA8D1 Vision Board上的PWM实践** | **丁振富** | +| **十、RA8D1 Vision Board上的RTC实践** | **TODO** | +| **十一、RA8D1 Vision Board的FLASH实践** | **叶高瑞** | +| **十二、RA8D1 Vision Board上的WDT实践** | **高高** | +| **十三、RA8D1 Vision Board上的IIC实践** | **TODO** | +| **十四、RA8D1 Vision Board上QSPI-Flash实践** | **刘万涛&&袁亨&&王凯** | +| **十五、RA8D1 Vision Board上的RW007实践** | **许思维&&尹向旭** | +| **十六、LCD(mipi)+LVGL(适配V8.x版本)** | **张海良** | +| **十七、Camera(产出camera框架)** | **欧小龙** | + +# 《Vision Board开发实践指南》零、实践指南说明 + +TODO + +# 一、RA8D1 Vision Board上的UART实践(刘建华ou) + +## 1. 开发环境 + +1、下载源码 +https://gitee.com/rtthread/rt-thread +2、下载env:rt-thread.org/download.html#download-rt-thread-env-tool +官网有详细的安装教程 +3、下载源码并安装好env工具后,进入rt-thread-master\bsp\renesas目录下面把ra8d1-vision-board文件夹复制一份,重命名为ra8d1-vision-board_uart。 +4、安装RSCA工程。该工具可以去瑞萨的官网下载,也可以到RTT活动提供的网盘进行下载。开发板资料链接:https://pan.baidu.com/s/1O38xjFGV2K1RP7tP1WlcvA?pwd=ra8v +下载好后,有详细的安装教程,此处不做详述。 + +## 2. 步骤说明 + +### 2.1 确定串口号 + +在vision-board中,有40pin的兼容树莓派的接口,经查看原理图与接口,决定此次使用UART2来做实验。 +原理图中,确实了uart2的接口如下,即第8、10分别为TX与RX。 + +![screenshot_image.png](./picture/1f23dcb026c57913fa870b1134aee8af.png.webp) + +### 2.2 开启串口 + +进入工程目录,右键打开env,输入menuconfig,进入→ Hardware Drivers Config → On-chip Peripheral Drivers → Enable UART。按空格键开启UART2 +![screenshot_image.png](./picture/429a952480debe253f123205451d5405.png.webp) + +### 2.3 生成mdk工程 + +保存后输入scons —target=mdk5来生成mdk5工程。 + +![screenshot_image.png](./picture/5c5fc9043682abf7d2e2d4265b4727bb.png.webp) + +### 2.4 打开工程并使用RASC工具配置UART2 + +使用mdk5打开工程。这里配置好uart2,编译工程会报错的,还需要使用RASC工具来配置UART2。在工程中按下图所示打开RASC: + +![screenshot_image.png](./picture/a9c754a2355391644b7afc928eacb668.png.webp) + +进入RASC中我们选择stack->new stack->Connectivity->UART(r_sci_b_uart)。创建好进和这个stact修改属性为uart2,如下图所示: + +![screenshot_image.png](./picture/f8120f0dadbd9e320c246043e035a874.png.webp) + +还需要打开中断,填写中断回调函数为user_uart2_callback + +![screenshot_image.png](./picture/848a4a6fd70ad4a1d54541365ce510c0.png.webp) + +配置好生保存配置,并按Generate Project Content重新生成一下工程。 + +### 2.5 编译并下载运行 + +生成工程后编译,并下载,打开串口终端,使用list device查看,有uart2初始化成功了。 + +![screenshot_image.png](./picture/dca2e3579fadeb092cfef85d2846bb53.png.webp) + +### 2.6 测试 + +#### 2.6.1 中断接收示例 + +1、新建一个my_uart_test.c,把它存放在src目录下面,添加一个UART/test分组,把my_uart_test.c添回进分组中。 +2、引入头文件、debug、以及定义串口uart2 + +```c +/* + * 程序清单:这是一个 串口 设备使用例程 + * 例程导出了 uart_sample 命令到控制终端 + * 命令调用格式:uart_sample uart2 + * 命令解释:命令第二个参数是要使用的串口设备名称,为空则使用默认的串口设备 + * 程序功能:通过串口输出字符串"hello RT-Thread!",然后错位输出输入的字符 +*/ +#include +#define TEST_UART_NAME "uart2" +/* 用于接收消息的信号量 */ +static struct rt_semaphore rx_sem; +static rt_device_t serial; +/* 接收数据回调函数 */ +static rt_err_t uart_input(rt_device_t dev, rt_size_t size) +{ + /* 串口接收到数据后产生中断,调用此回调函数,然后发送接收信号量 */ + rt_sem_release(&rx_sem); + return RT_EOK; +} +static void serial_thread_entry(void *parameter) +{ + char ch; + while (1) + { + /* 从串口读取一个字节的数据,没有读取到则等待接收信号量 */ + while (rt_device_read(serial, -1, &ch, 1) != 1) + { + /* 阻塞等待接收信号量,等到信号量后再次读取数据 */ + rt_sem_take(&rx_sem, RT_WAITING_FOREVER); + } + /* 读取到的数据通过串口错位输出 */ + ch = ch + 1; + rt_device_write(serial, 0, &ch, 1); + } +} +static int uart_test(int argc, char *argv[]) +{ + rt_err_t ret = RT_EOK; + char uart_name[RT_NAME_MAX]; + char str[] = "hello RT-Thread!\r\n"; + if (argc == 2) + { + rt_strncpy(uart_name, argv[1], RT_NAME_MAX); + } + else + { + rt_strncpy(uart_name, TEST_UART_NAME, RT_NAME_MAX); + } + /* 查找系统中的串口设备 */ + serial = rt_device_find(uart_name); + if (!serial) + { + rt_kprintf("find %s failed!\n", uart_name); + return RT_ERROR; + } + /* 初始化信号量 */ + rt_sem_init(&rx_sem, "rx_sem", 0, RT_IPC_FLAG_FIFO); + /* 以中断接收及轮询发送模式打开串口设备 */ + rt_device_open(serial, RT_DEVICE_FLAG_INT_RX); + /* 设置接收回调函数 */ + rt_device_set_rx_indicate(serial, uart_input); + /* 发送字符串 */ + rt_device_write(serial, 0, str, (sizeof(str) - 1)); + /* 创建 serial 线程 */ + rt_thread_t thread = rt_thread_create("serial", serial_thread_entry, RT_NULL, 1024, 25, 10); + /* 创建成功则启动线程 */ + if (thread != RT_NULL) + { + rt_thread_startup(thread); + } + else + { + ret = RT_ERROR; + } + return ret; +} +/* 导出到 msh 命令列表中 */ +MSH_CMD_EXPORT(uart_test, uart device test); +``` + +3、运行测试代码 + +编译后下载到开发板,使用USB转TTL工具接入树莓派接口的8、10脚,打开串口助手。 +在串口终端中输入uart_test的命令,在串口组手中接收到了hello RT-Thread! +同时向开发板发送字符串,开发板交替字符串后向助手发送,效果如下: +![screenshot_image.png](./picture/89c7e4c9c9d8fdde745878b93f7792e4.png.webp) + +以上是中断接收的例子,下面使用dma进行接收,使用阻塞式进行发送。 + +#### 2.6.2 dma接收示例 + +1、打开env工具,打开UART配置,使能DMA接收。 + +![screenshot_image.png](./picture/bede06c9461abf808fee9d9b370b1823.png.webp) + +然后退出设置,重新生成mkd5工程。 +2、修改原来的uart_tes.c函数。 +代码如下: + +```c +/* + * Copyright (c) 2006-2021, RT-Thread Development Team + * + * SPDX-License-Identifier: Apache-2.0 + * + * Change Logs: + * Date Author Notes + * 2024-04-15 liujianhua the first version + */ +/* + * 程序清单:这是一个串口设备 DMA 接收使用例程 + * 例程导出了 uart_dma_sample 命令到控制终端 + * 命令调用格式:uart_dma_sample uart3 + * 命令解释:命令第二个参数是要使用的串口设备名称,为空则使用默认的串口设备 + * 程序功能:通过串口输出字符串"hello RT-Thread!",并通过串口输出接收到的数据,然后打印接收到的数据。 +*/ +#include +#define SAMPLE_UART_NAME "uart2" /* 串口设备名称 */ +/* 串口接收消息结构*/ +struct rx_msg +{ + rt_device_t dev; + rt_size_t size; +}; +/* 串口设备句柄 */ +static rt_device_t serial; +/* 消息队列控制块 */ +static struct rt_messagequeue rx_mq; +/* 接收数据回调函数 */ +static rt_err_t uart_input(rt_device_t dev, rt_size_t size) +{ + struct rx_msg msg; + rt_err_t result; + msg.dev = dev; + msg.size = size; + result = rt_mq_send(&rx_mq, &msg, sizeof(msg)); + if ( result == -RT_EFULL) + { + /* 消息队列满 */ + rt_kprintf("message queue full!\n"); + } + return result; +} +static void serial_thread_entry(void *parameter) +{ + struct rx_msg msg; + rt_err_t result; + rt_uint32_t rx_length; + static char rx_buffer[BSP_UART2_RX_BUFSIZE + 1]; + while (1) + { + rt_memset(&msg, 0, sizeof(msg)); + /* 从消息队列中读取消息*/ + result = rt_mq_recv(&rx_mq, &msg, sizeof(msg), RT_WAITING_FOREVER); + if (result > 0) + { + /* 从串口读取数据*/ + rx_length = rt_device_read(msg.dev, 0, rx_buffer, msg.size); + rx_buffer[rx_length] = '\0'; + /* 通过串口设备 serial 输出读取到的消息 */ + rt_device_write(serial, 0, rx_buffer, rx_length); + /* 打印数据 */ + rt_kprintf("%s\n",rx_buffer); + } + } +} +static int uart_dma_sample(int argc, char *argv[]) +{ + rt_err_t ret = RT_EOK; + char uart_name[RT_NAME_MAX]; + static char msg_pool[256]; + char str[] = "hello RT-Thread!\r\n"; + if (argc == 2) + { + rt_strncpy(uart_name, argv[1], RT_NAME_MAX); + } + else + { + rt_strncpy(uart_name, SAMPLE_UART_NAME, RT_NAME_MAX); + } + /* 查找串口设备 */ + serial = rt_device_find(uart_name); + if (!serial) + { + rt_kprintf("find %s failed!\n", uart_name); + return RT_ERROR; + } + /* 初始化消息队列 */ + rt_mq_init(&rx_mq, "rx_mq", + msg_pool, /* 存放消息的缓冲区 */ + sizeof(struct rx_msg), /* 一条消息的最大长度 */ + sizeof(msg_pool), /* 存放消息的缓冲区大小 */ + RT_IPC_FLAG_FIFO); /* 如果有多个线程等待,按照先来先得到的方法分配消息 */ + /* 以 DMA 接收及轮询发送方式打开串口设备 */ + rt_device_open(serial, RT_DEVICE_FLAG_DMA_RX); + /* 设置接收回调函数 */ + rt_device_set_rx_indicate(serial, uart_input); + /* 发送字符串 */ + rt_device_write(serial, 0, str, (sizeof(str) - 1)); + /* 创建 serial 线程 */ + rt_thread_t thread = rt_thread_create("serial", serial_thread_entry, RT_NULL, 1024, 25, 10); + /* 创建成功则启动线程 */ + if (thread != RT_NULL) + { + rt_thread_startup(thread); + } + else + { + ret = RT_ERROR; + } + return ret; +} +/* 导出到 msh 命令列表中 */ +MSH_CMD_EXPORT(uart_dma_sample, uart device dma sample); +``` + +下载到开发板后,打开串口终端,输入命令: + +![screenshot_image.png](./picture/bbff441d2d32ae9a0bf026fd79eab87c.png.webp) + +这样在msh与串口终端中都可以看到有输出了,说明串口配置为dma也是正常的。 + +## 3. 原文链接 + +[RT-Thread-【RA8D1-Vision Board】基于RT-Thread的UART实践RT-Thread问答社区 - RT-Thread](https://club.rt-thread.org/ask/article/7683efbc29df21b5.html) + +# 二、RA8D1 Vision Board上的GPIO实践(朱俊杰) + +## 1. 开发环境 + +> RT-Thread studio + Daplink + +资料准备:Vision Board原理图 + +## 2. 步骤说明 + +### 2.1 创建工程 + +首先是打开我们的RTTHREAD studio,新建一个新的RT-Thread项目。 + +![屏幕截图 2024-04-19 234346.png](./picture/596cd5e27796077f350c1fcaea105b95.png.webp) + +选择我们的基于开发板开发,名字自定义 + +![微信图片_20240419234543.png](./picture/b8853b4aee9d7c4c518ad78ee137105b.png.webp) + +没有的,大家需要去SDK中心进行下载,下载以下三个SDK包 + +![微信图片_20240419234802.png](./picture/43b78eca95faf30e0ef6729e014e05da.png.webp) + +![微信图片_20240419234914.png](./picture/f75c98440c960266e512dd838242397d.png.webp) + +![微信图片_20240419235008.png](./picture/a33766bc3384c58d88e663b489aa8133.png.webp) + +下载完成后,新建工程后,打开文件夹下的src文件夹下的hal_entry.c,该文件类似于我们编写的main.c文件。 +可以看见,这个示例工程已经帮我们写好了LED0的点亮,大家编译后烧录进去即可看见灯泡闪烁。 +接下来,我们将实现三色灯的轮询。 + +### 2.2 实现三色灯轮询 + +首先打开,vision board的原理图。低电平点亮 + + +![微信图片_20240419235334.png](./picture/1aa22c1e891474f857c7f3d960e76749.png) + +可以看到LED0,LED1,LED2对应的是 + +![微信图片_20240419235439.png](./picture/d79c80c396eee92773810a6030d3b18d.png.webp) + +![微信图片_20240419235636.png](./picture/985e287ac9cf6a2ee5eccaeb5b2f9c0b.png.webp) + +接下来我们要对这三个IO口进行操作 +通过查看bsp_io.h io的文件 来找到另外两个LED灯的io口的定义 +分别是 +BSP_IO_PORT_01_PIN_02 = 0x0102, ///< IO port 1 pin 2 LED0 +BSP_IO_PORT_01_PIN_06 = 0x0106, ///< IO port 1 pin 6 LED1 +BSP_IO_PORT_10_PIN_07 = 0x0A07, ///< IO port 10 pin 7 LED2 + +![微信图片_20240420000114.png](./picture/01e4e4c35e2db5f3e8cdfd4028aa653e.png.webp) + +接下来编写主程序,低电平点亮 +通过rt_pin_write(LED_PIN0, PIN_HIGH); 将LED_PIN0写入高电平 + +![微信图片_20240420001130.png](./picture/50937bd3a8d28070ec62068a0741395b.png.webp) + +下载烧录进去,观察现象 红灯,蓝灯,绿灯的闪烁。 + +![微信图片_20240420001943.jpg](./picture/2fc0819e5b457d1670789141b3084a09.jpg.webp) + +![微信图片_20240420001946.jpg](./picture/fb78af5b35288c7b25b7e668ede1b117.jpg.webp) + +![微信图片_20240420001941.jpg](./picture/08cd2c751069f52de8dab2c3c1b7447d.jpg.webp) + +## 3. 原文链接 + +[RT-Thread-VISION BOARD 第二弹 基础工程配置和点亮一个LED灯RT-Thread问答社区 - RT-Thread](https://club.rt-thread.org/ask/article/5ef44607934c101e.html) + +# 三、RA8D1 Vision Board上的USB实践 + +## A.【RA8D1-Vision Board】基于RT-Thread的usb设备cdc驱动测试(Mak) + +### 1 开发环境 + +源码: +https://github.com/RT-Thread-Studio/sdk-bsp-ra8d1-vision-board +RT-Thread env工具: +https://www.rt-thread.org/download.html +Renesas Flash Programmer烧录工具: +https://www.renesas.com/us/en/software-tool/renesas-flash-programmer-programming-gui + +### 2. 步骤说明 + +#### 2.1 环境准备 + +下载第一点提到的工具和安装包并安装,克隆工程 + +#### 2.2 工程编译 + +1. 进入env工具包的目录 +2. 双击运行env.exe +3. 通过cd命令切换到sdk-bsp-ra8d1-vision-board/projects/usb/vision_board_tinyusb目录,比如:cd $(project_dir)/sdk-bsp-ra8d1-vision-board/projects/usb/vision_board_tinyusb +4. 在该目录下执行scons + +#### 2.3 工程烧录 + +打开安装好的Renesas Flash Programmer + +1. 新建工程 + +![screenshot_image.png](./picture/642352ec2453b12863c5217a9a40cae7.png.webp) + +![screenshot_image.png](./picture/f878318c626e168ffe08762d22dbdd02.png.webp) + +> 注:按Tool选择串口前,先按USER BOOT按钮,再按下RST切换至烧录模式,才会出现上面的RA USB Boot(CDC)串口 + +2. 准备烧录 + +![screenshot_image.png](./picture/7cba5210559942c632895d045d23f7f1.png.webp) + +> 注:按Start烧录前应先按着开发板的USER BOOT键,再按一下RST重启,此时USER BOOT键需持续按下。然后再点击Start进行烧录。 + +3. 烧录完毕 + +![screenshot_image.png](./picture/7ebf6da273241cb0b85475d013aa68c3.png.webp) + +4. usb cdc驱动测试 + +![screenshot_image.png](./picture/07eef207b46c0fd494639765440bc199.png.webp) + +​ 打开rtt主串口和cdc串口,输入cdc_example启动app + +![screenshot_image.png](./picture/20f111db9f53ffedaa696dfb05e91e41.png.webp) + +​ 虚拟串口提示please enter something后,输入测试文本123abc,获得回显 123abc + +### 3. 原文链接 + +[RT-Thread-【RA8D1-Vision Board】基于RT-Thread的usb设备cdc驱动测试RT-Thread问答社区 - RT-Thread](https://club.rt-thread.org/ask/article/17167ca2a8e37aec.html) + +## B.【RA8D1-Vision Board】基于RT-Thread的usb设备msc驱动测试(Mak) + +### 1. 开发环境 + +源码: +https://github.com/RT-Thread-Studio/sdk-bsp-ra8d1-vision-board +RT-Thread env工具: +https://www.rt-thread.org/download.html +Renesas Flash Programmer烧录工具: +https://www.renesas.com/us/en/software-tool/renesas-flash-programmer-programming-gui +sd卡一张 +![screenshot_image.png](./picture/714aabca13d204a1ccbf4417dab4e230.png.webp) + +### 2. 步骤说明 + +#### 2.1 搭建环境 + +下载第一点提到的工具和安装包并安装,克隆工程 + +#### 2.2 工程编译 + +1. 进入env工具包的目录 +2. 双击运行env.exe +3. 通过cd命令切换到sdk-bsp-ra8d1-vision-board/projects/usb/vision_board_tinyusb_msc目录,比如:cd $(project_dir)/sdk-bsp-ra8d1-vision-board/projects/usb/vision_board_tinyusb_msc +4. 在该目录下执行scons + ![screenshot_image.png](./picture/6ccafa48b92984cde4c3710b8a4eace8.png.webp) + +#### 2.3 工程烧录 + +打开安装好的Renesas Flash Programmer + +1. 新建工程 + +![screenshot_image.png](./picture/b63f46230802d99ac1865bab7c7a118b.png.webp) + +![screenshot_image.png](./picture/f878318c626e168ffe08762d22dbdd02.png-1715765679310-7.webp) + +> 注:按Tool选择串口前,先按USER BOOT按钮,再按下RST切换至烧录模式,才会出现上面的RA USB Boot(CDC)串口 + +2. 准备烧录 + +![screenshot_image.png](./picture/b63f46230802d99ac1865bab7c7a118b.png-1715765775804-10.webp) + +> 注:按Start烧录前应先按着开发板的USER BOOT键,再按一下RST重启,此时USER BOOT键需持续按下。然后再点击Start进行烧录。 + +3. 烧录完毕 + +![screenshot_image.png](./picture/2bb60389afd644320fa24e4434308586.png.webp) + +4. usb msc驱动测试 + + 1. 安装sd卡,注意正反面 + + ![screenshot_image.png](./picture/47eec562b1f5c74184bffa663b2eda75.png.webp) + + 2. 将开发板USB口插入电脑,会自动安装驱动 + + ![screenshot_image.png](./picture/a9801c26cf9127feca6601d8ffd74e06.png.webp) + + 3. 在我的电脑处会出现U盘的盘符 + + ![screenshot_image.png](./picture/0a9cd2bdefd44a51546eef864f98f533.png.webp) + + 4. 打开后便可以进行U盘的文件读写操作 + + ![screenshot_image.png](./picture/4f8c28cb5f898c767129719361b34f49.png.webp) + +### 3. 原文链接 + +[RT-Thread-【RA8D1-Vision Board】基于RT-Thread的usb设备msc驱动测试RT-Thread问答社区 - RT-Thread](https://club.rt-thread.org/ask/article/fbe186acd849c9af.html) + +## C. 【RA8D1-Vision Board】 RA8D1 Vision Board上的USB实践(湛政) + +### 1. 开发环境 + +开发板支持MDK和RT-Thread Studio,本次以RT-Thread Studio环境搭建为例,MDK大家可自行摸索或联系作者 + +1. [RT-Thread Studio](https://pan.baidu.com/share/init?surl=qhVLuC3Na0xoe9rNWK1RZA?pwd=o4yo)工具下载,下载后自行安装 + +2. 打开RT-Thread Studio ,安装Vision Board 开发板支持包 + + ![20240428094636.png](./picture/40d0c22287a72d71d1e644b8663ac649.png.webp) + +3. 安装工具链,请安装下图所示工具链版本 + + ![企业微信截图_20240428094837.png](./picture/6cf11d24d6fed154dcb5f6ed9e0b269e.png) + +4. 下载安装≥0.2.3版本的PyOCD烧录工具(用于烧录固件) + + ![企业微信截图_20240428094837.png](./picture/6cf11d24d6fed154dcb5f6ed9e0b269e-1715766115362-30.png) + +5. 新建Vision Board 工程,选择左上角文件->新建->RT-Thread 项目->基于开发板,可以创建示例工程和模板工程,SDK已适配了很多demo工程,本次演示以USB工程为例: + + ![企业微信截图_20240428095353.png](./picture/8b9499c04462e8a19fad0a892364ec0e.png.webp) + +6. 配置瑞萨灵活配置软件包路径(软件包自行下载安装,注意安装版本setup_fsp_v5_1_0_rasc_v2023-10.exe,我安装了5.2.0无法打开 ) + 选中RA Smart Configurator 右键!!选择更新RA Smart Configurator 路径后修改路径: + ![企业微信截图_20240428100033.png](./picture/0b2a4cfe82f5d58f0d26e0103902351b.png) + + 双击RA Smart Configurator 打开后配置fsp: + + ![企业微信截图_20240428102727.png](./picture/398e6b00660a27cea6036ae4fca9ef8d.png.webp) + +### 2. 步骤说明 + +#### 2.1 查看USB芯片资源 + +1. RA8D1拥有2路USB一路HS、一路FS,本次实践我们使用USB HS,其中USBHS 包含10个端点 + +- 端点0 为控制端点 最大64byte +- 端点1和2 为同步传输端点 最大2048byte 支持双buffer +- 端点3~5 为批量传输端点 最大2048byte 支持双buffer +- 端点6~9 为中断传输端点 最大64byte + +![企业微信截图_20240428153827.png](./picture/f38acc309cec1ac63e80fbb5cd208943.png.webp) + +USB HS框图如下: + +![企业微信截图_20240428153922.png](./picture/8cb7aa1d2ee3adeaff7b3d191b8797c6.png.webp) + +USB HS 引脚说明: + +![企业微信截图_20240428153933.png](./picture/1452125a5ce39bde90d71025d1fcf051.png.webp) + +#### 2.2 USB初步实践 + +1. sdk默认使用tinyusb协议栈,且已完成usb cdc demo,接来开始USB CDC、MSC、HID以及复合设备的适配和实践 + +2. 硬件上使用USB-OTG接口 + + ![1.png](./picture/b87a84b554f7677f0ededd233322c864.png.webp) + +3. 拉高USB_CH_SEL,模拟开关选通USB-HS + + ![4.png](./picture/f881b5509653cef4d4b1f70b69d773f8.png.webp) + +tinyusb已完成了对USB的初始化和hs模式的切换 + +- 在tinyusb_port.c中完成了tinyusb的初始化: + + ![2.png](./picture/af34ef50bf2bc5a977266a5ab2bd2056.png.webp) + +- 在drv_tinyusb.c中完成了fs-hs的切换以及中断的处理: + + ![3.png](./picture/0e4ca8934545dd4e0820d887ab634901.png.webp) + +#### 2.3 USB-CDC实践 + +##### 2.3.1 源码 + +cdc_example源码位置:packages\TinyUSB-v0.14.0\rt-thread\example\cdc_example.c + +##### 2.3.2 USB-CDC测试 + +完成环境搭建且创建 vision board tiny usb 示例工程并完成编译后,烧录程序报错(USB-OTG和USB-DBG均连接电脑): + +![企业微信截图_20240428111334.png](./picture/2a6123bb8093475b29c2af529d0715ab.png) + +修改rtthread studio 构建配置生成 rtthread.bin完成烧录后,开发板有一个蓝色LED灯开始闪烁: + +![企业微信截图_20240428112323.png](./picture/fcf7307b4ecc252fd5cb1e56667eabc5.png.webp) + +打开debug串口执行help,可以看到cdc example + +![企业微信截图_20240428112907.png](./picture/c857ac2f0efdb173b4ce984717972ecb.png) + +CDC功能测试 +首先打开USB-CDC串口 +在调试终端执行cdc_example(注:如果没有打开CDC串口会报错:please open port and make sure DTR=1) + +![企业微信截图_20240428113332.png](./picture/5259cc55a6efe4495cccc6c75dc7ac86.png) + +执行cdc_example后,在cdc串口会打印”please enter something:”,输入测试数据后cdc串口会回显 + +![企业微信截图_20240428113711.png](./picture/a71cb8711dc92319406ab747044baee6.png) + +#### 2.4 USB HID实践 + +TODO + +#### 2.5 USB MSC实践 + +TODO + +#### 2.6 USB HID+MSC+CDC复合设备实践 + +TODO + +#### 2.7 代码仓库 + +USB实践rtthread studio 工程仓库地址 :https://gitee.com/richarddestiny/ra8d1-vision-board_usb.git + +### 3. 原文链接 + +[RT-Thread-【RA8D1-Vision Board】 RA8D1 Vision Board上的USB实践RT-Thread问答社区 - RT-Thread](https://club.rt-thread.org/ask/article/46f7ac02efd749ed.html) + +# 四、RA8D1 Vision Board上的HWTimer实践 + +TODO + +# 五、RA8D1 Vision Board上的SDHC实践(Jisheng Zhang) + +## 1. 开发环境 + +搭建linux下scons+gcc+pyocd开发环境 + +参考:[RT-Thread-NXP MCXN947测评之(一)linux下scons+gcc+pyocd开发环境搭建RT-Thread问答社区 - RT-Thread](https://club.rt-thread.org/ask/article/fe8a41cc4cff573a.html) + +### 1.1 工具安装 + +scons、gcc-arm-none-eabi都是安装的发行版自带的,通用可共享。pyocd用pip安装,也可共享。唯一需要安装的是RA8D1的pack包,我们搜索一下看看keil官方有没有更新好: + +``` +$ pyocd pack find a8d1 +0000747 W No matching devices. Please make sure the pack index is up to date. [pack_cmd] +``` + +what?没找到,不过pyocd友好提醒index有点旧了,需要更新下: + +``` +$ pyocd pack update +0000500 I Updating pack index... [pack_cmd] +Downloading descriptors (115/1389) +``` + +再找找有没有RA8D1的pack包: + +``` +$ pyocd pack find a8d1 + Part Vendor Pack Version Installed +-------------------------------------------------------------- + R7FA8D1AF Renesas Renesas.RA_DFP 5.2.0 False + R7FA8D1AH Renesas Renesas.RA_DFP 5.2.0 False + R7FA8D1BF Renesas Renesas.RA_DFP 5.2.0 False + R7FA8D1BH Renesas Renesas.RA_DFP 5.2.0 False +``` + +说明Renesas已经上传RA8D1的pack到keil了,下载之 + +``` +$ pyocd pack install R7FA8D1BH +Downloading packs (press Control-C to cancel): + Renesas.RA_DFP.5.2.0 +Downloading descriptors (001/001) +``` + +板子上电发现手里拿到的vision board自带了openmv固件,所以先试试pyocd能否识别和操作它 + +``` +$ pyocd list + # Probe/Board Unique ID Target +----------------------------------------------------------- + 0 RTThread ART-Link CMSIS-DAP 6FB1E0FB6436 n/a +$ pyocd reset -t R7FA8D1BH +``` + +发现板子重启了,至少说明pyocd能操作板子,再进一步: + +``` +$ pyocd cmd -t R7FA8D1BH +Connected to R7FA8D1BH [Running]: 6FB1E0FB6436 +``` + +阅读RA8D1的手册知道SDRAM基地址在0x68000000,所以上传点东西试试: + +``` +pyocd> loadmem 0x68000000 /tmp/duo.dtb +Loaded 4734 bytes to 0x68000000 +pyocd> rw 0x68000000 +68000000: edfe0dd0 |....| +``` + +### 1.2 测试环境 + +结合FSP是可以在RT-Thread主线上验证各种外设的,不需SDK。今天只编译个最基本的msh,进入RT-Thread源码目录后 + +``` +$ export RTT_CC=gcc +$ export RTT_EXEC_PATH=/usr/bin +$ cd bsp/renesas/ra8d1-vision-board +$ scons --menuconfig +$ scons +``` + +丝般顺滑。。。烧录看看 + +``` +$ pyocd load -e sector -t R7FA8D1BH rtthread.hex +``` + +烧录成功! + +## 2. 步骤说明 + +### 2.1 了解芯片 + +#### 2.1.1 了解芯片中的SDHI + +阅读瑞萨官方手册得知RA8D1里有一个SDHI(Secure Digital Host Interface)控制器和一个用于emmc的控制器MultiMediaCard (MMC) Interface。其中SDHI(在手册里也被叫做SD1)支持一线、四线操作,支持sd卡和sdio卡,速度模式支持Default Speed mode, High Speed mode, SDR12和SDR25。而emmc控制器(在手册里是SD0)支持一线、四线、八线操作。这两控制器软件编程上其实是差不多的。另外简单看了控制器的寄存器布局,和所谓的SDHCI(Secure Digital Host Controller Interface)不一样,故而不是SDHCI兼容的。 + +#### 2.1.2 了解Vision board板级情况 + +查阅vision board原理图可知板载一个tf卡插槽,信号都是3.3v,引脚都接入瑞萨手册里称之为SD1的控制器,tf卡槽的CD引脚是P503,vdd直接接3.3v未用gpio控制,所以板子开机tf卡就上电了 + +### 2.2 FSP配置 + +由上述信息可以在fsp配置,fsp用法蛮简单的和cubemx有点像,这里略过。其实我们有一种偷懒办法—sdk有如下几个project配置了SDHI:doom, nes, vision_board_openmv。任意挑一个project,把它的ra,ra_cfg和ra_gen三个目录拷贝过来就可以用了 + +### 2.3 RT-Thread配置 + +仿照nes/vision_board_mipi_2.0inch_nes弄了一个vision_board_sdhi目录。scons menuconfig配置时我们需要打开这几个选项:RT_USING_DFS, BSP_USING_SDCARD_FS, BSP_USING_SDHI1。 + +注意点: + +- SDHI Detection Pin Name设置为p503,默认就是这个引脚; +- DFS版本选V1; +- SDHI_USING_1_BIT可选可不选,理论上4bit模式速度应该更快(可见下面实际性能测试数据)。vision_board_sdhi项目默认配置是未选中SDHI_USING_1_BIT。 + +### 2.4 测试程序 + +引入文件系统后,测试程序可以用普通的文件测试用例,RT-Thread的examples/file/目录下有现成的:readspeed.c、readwrite.c 、writespeed.c,把它们拷贝到board/ports/目录下. + +#### 2.4.1 开机挂载SD卡 + +仿照nes project在src/hal_entry.c中插入如下代码挂载sd卡: + +``` +rt_device_t device; +device = rt_device_find("sd"); +while (device == NULL) +{ + device = rt_device_find("sd"); + rt_pin_write(LED_PIN, PIN_HIGH); + rt_thread_mdelay(200); + rt_pin_write(LED_PIN, PIN_LOW); + rt_thread_mdelay(200); +} +``` + +#### 2.4.2 读写测试 + 性能数据对比 + +读写测试 + +``` +msh />readwrite rttestfile +[W/time] Cannot find a RTC device! +[W/time] Cannot find a RTC device! +[W/time] Cannot find a RTC device! +read/write test successful! +``` + +读性能数据 + +``` +msh />readspeed /Image +File read speed: 1416000 byte/s +``` + +写性能数据 + +``` +msh />writespeed rtwritetest +[W/time] Cannot find a RTC device! +[W/time] Cannot find a RTC device! +File write speed: 249000 byte/s +``` + +Enable SDHI_USING_1_BIT后的读写性能数据: + +``` +msh />readspeed /Image +File read speed: 1103000 byte/s +msh />writespeed /rtfiletest2 +[W/time] Cannot find a RTC device! +[W/time] Cannot find a RTC device! +File write speed: 249000 byte/s +``` + +由此可以看出读性能4bit模式比1bit模式高,写性能则没变化。 + +### 2.5 总结 + +RT-Thread文件系统这快做的很不错,通用化、模块化,甚至测试用例都给写好了。移植到新的芯片只要适配下存储相关的主控比如sdhi、spi/qspi/ospi flash控制器后,文件系统就自然可用了。 + +vision board sd卡读写性能应该还有大大优化的空间,理论上default speed频率上限是25MHZ,在四线模式下也该有12.5MB/s总线速度,需要研究下sdclk和SDHI控制器的时钟频率是不是最优。 + +### 2.6 后记 + +调试发现性能和block大小有关,默认512字节,如果用8192或81920字节,速度就上来了。 +四线读写性能: + +``` +msh />readspeed /Image 8192 +File read speed: 6714000 byte/s +msh />readspeed /Image 81920 +File read speed: 6791000 byte/s +msh />writespeed /rttwritetest 8388608 8192 +[W/time] Cannot find a RTC device! +[W/time] Cannot find a RTC device! +File write speed: 1835000 byte/s +``` + +可以看到block size由8192字节增加到81920字节,性能提升并不明显。再看看一线模式: + +``` +msh />readspeed /Image 8192 +File read speed: 2829000 byte/s +msh />readspeed /Image 81920 +File read speed: 2843000 byte/s +msh />readspeed /Image 819200 +File read speed: 2847000 byte/s +msh />writespeed /rttwritetest 8388608 8192 +[W/time] Cannot find a RTC device! +[W/time] Cannot find a RTC device! +File write speed: 1302000 byte/s +``` + +## 3. 原文链接 + +[RT-Thread-RA8D1-Vision Board\ sd卡实践RT-Thread问答社区 - RT-Thread](https://club.rt-thread.org/ask/article/4395cd8e84664400.html) + +# 六、RA8D1 Vision Board上的ADC实践(侯泽华) + +## 1. 开发环境 + +根据官方提供的[文档说明](https://www.rt-thread.org/document/site/#/rt-thread-version/rt-thread-standard/hw-board/ra8d1-vision-board/ra8d1-vision-board),我们把所有的资料都下载下来,并安装,这里推荐大家都使用WiN10或以上的版本,电脑内存不要低于2G,不然在软件的使用上会遇到一些很奇怪的问题。 +我使用的是RTThread Studio作为开发环境,配合瑞莎的配置软件FSP5.1.0,能够很容易的搭建好我们所需要的测试环境。 + +### 1.1 RT-Thread studio 环境配置 + +1. 在资源管理包中下载最新的开发板资源 + +![image-1.png](./picture/5cc680540f63e98284337f93a8e55981.png.webp) + +2. 更新最新的下载器资源PyOCD 更新到10.2.1版本 + +![image-2.png](./picture/9786879e08e8133c5a0a89a148b69323.png) + +## 2. 步骤说明 + +### 2.1 在RT-Thread Studio中搭建ADC工程 + +1. 选择基于开发板并创建一个模板工程 + +![image-3.png](./picture/b2fa8334f13cccd843032c1639363896.png) + +2. 在RT-Thread Settings中打开ADC的驱动框架和ADC设备 + + ![image-4.png](./picture/1312cee54f25913223ead2223640592b.png) + + ![image-5.png](./picture/15bae285390eaf2604ae5e165f21cecf.png) + +3. 如果在此时编译,编译器会给你报一个大大的错误,这是因为我们只打开了驱动层相关使能,但是芯片的ADC功能我们还没有配置,这个时候就要用到RA Smart Configuator了,就是环境配置是下载的FSP软件啦。![image-6.png](./picture/c3ed51a593bd86f4959c3d0835181699.png) + +### 2.2 RA Smart Configuator中的配置 + +1.双击打开配置软件,这一步点击“是”,选择软件安装的文件夹就好了 + +![image-7.png](./picture/8d6a25aee7804d1d43064eeeb8cd493a.png.webp) + +2.参考外设配置官方文档,按以下图即可配置,这里需要主要的是通道的选择,只要打开通道0 和通道1,就可以使用板子上的树莓派接口的AN000 和AN001了。通过原理图也可以看到AN000 在P004引脚上,AN001在P005引脚上,软件已经配置好了在Pins中可以查看到,我们不需要进行选择。直接点击右上角生成即可。 +![image-9.png](./picture/1fb456d4dc8d7a883bc20be0ad42eda4.png.webp) + +3.回到RT-Thread Studio 中编译文件会发现已经没有错误了。 + +### 2.3 功能测试 + +相关外设和驱动我们都已经准备好了,我们拷贝一份官方的ADC例程进行测试 + +1.在src 文件夹下的hal_entry.c文件中编写我们的代码,该文件中的函数在main.c中被调用,void hal_entry(void)函数就相当于main函数。 + +```c + +#include +#include +#include "hal_data.h" +#define ADC_DEV_NAME "adc0" /* ADC 设备名称 */ +#define ADC_DEV_CHANNEL 0 /* ADC 通道 */ +#define REFER_VOLTAGE 330 /* 参考电压 3.3V,数据精度乘以100保留2位小数*/ +#define CONVERT_BITS (1 << 12) /* 转换位数为12位 */ +#define LED_PIN BSP_IO_PORT_01_PIN_02 /* Onboard LED pins */ +void hal_entry(void) +{ + rt_kprintf("\nHello RT-Thread!\n"); + while (1) + { + rt_pin_write(LED_PIN, PIN_HIGH); + rt_thread_mdelay(500); + rt_pin_write(LED_PIN, PIN_LOW); + rt_thread_mdelay(500); + } +} +static int adc_vol_sample(int argc, char *argv[]) +{ + rt_adc_device_t adc_dev; + rt_uint32_t value, vol; + rt_err_t ret = RT_EOK; + rt_uint32_t number = 20; + /* 查找设备 */ + adc_dev = (rt_adc_device_t)rt_device_find(ADC_DEV_NAME); + if (adc_dev == RT_NULL) + { + rt_kprintf("adc sample run failed! can't find %s device!\n", ADC_DEV_NAME); + return RT_ERROR; + } + /* 使能设备 */ + ret = rt_adc_enable(adc_dev, ADC_DEV_CHANNEL); + while(number) + { + number--; + /* 读取采样值 */ + value = rt_adc_read(adc_dev, ADC_DEV_CHANNEL); + rt_kprintf("the value is :%d \n", value); + /* 转换为对应电压值 */ + vol = value * REFER_VOLTAGE / CONVERT_BITS; + rt_kprintf("the voltage is :%d.%02d \n", vol / 100, vol % 100); + rt_thread_delay(500); + } + /* 关闭通道 */ + ret = rt_adc_disable(adc_dev, ADC_DEV_CHANNEL); + return ret; +} +/* 导出到 msh 命令列表中 */ +MSH_CMD_EXPORT(adc_vol_sample, adc voltage convert sample); +``` + +2.编译后进行下载程序,显示=====,表示我们已经下载成功。 + +3.使用杜邦线直接将VCC 连接到AN000上即第18个引脚,打开串口终端进行测试。 + +![image-10.png](./picture/dba11b8999a6f1ce01e33d11c348cbc4.png.webp) + +4.串口终端测试数据 + +![image-11.png](./picture/f0dec49902b1afd07a0561c28cf5a338.png) + +### 2.4 结语 + +至此ADC的工程的搭建也仅仅是个熟悉开发板的开始,相信该开发板的强大功能会给大家带来更多惊喜,经过长时间打印测试,ADC采样值很稳定。测试过程若有纰漏,欢迎大家指正。有更好的测试方式,也请大家不吝赐教。 + +## 3. 原文链接 + +[RT-Thread-【Vision Board 创客营】Vision Board上的ADC实践RT-Thread问答社区 - RT-Thread](https://club.rt-thread.org/ask/article/921f3b1452d1d203.html) + +# 七、RA8D1 Vision Board上的DAC实践(陈妙聪) + +## 1. 开发环境 + +配置 + 系统:Win11 + + 开发板:RA8-M85-vision-board + + 开发IDE:RTThread Studio 版本: 2.2.6 + +环境配置 + +- 下载开发所需软件资料 + +- 根据官方提供的文档](https://docs.qq.com/doc/DY2hkbVdiSGV1S3JM) )搭建开发环境 + +## 2. 步骤说明 + +### 2.1 新建工程 + +- 打开RTThread Studio IDE ,选择文件 —> 新建 —> RT-Thread 项目 + +- 输入工程信息,可参考下图: + +![创建工程.png](./picture/3ee6415fabc4c61cce89a8f67b37682d.png.webp) + +- 使能DAC驱动框架,可参考下图: + +![配置驱动1.png](./picture/88ba2fdd1ebd726b05dd502c3643a834.png) + +![配置驱动2.png](./picture/c1cc8f638ff9e7c307643d997e477b3c.png.webp) + +- 打开RA Smart Configurator (记得选择sc_v2023-10_fsp_v5.1.0 文件夹),进行DAC硬件功能配置,具体可参考下图: + +![引脚功能配置1.png](./picture/dbf0330e097162594348253c8747111c.png.webp) + +![引脚功能配置2.png](./picture/7c10fcc8a38e13e6c28366de0b1451a8.png.webp) + +![引脚功能配置3.png](./picture/a2389c17a10a9a1d62f2eaf572201dc4.png.webp) + +### 2.2 测试程序 + +在工程src目录中,右键新建 test_dac.c 文件,文件内容如下: + +```C +/** + 功能说明:通过DAC生成一个正弦波,其中每一个dac的输出值,是通过py程序自动生成,可在附录中自取 +*/ +/* + * Copyright (c) 2006-2021, RT-Thread Development Team + * + * SPDX-License-Identifier: Apache-2.0 + * + * Change Logs: + * Date Author Notes + * 2024-04-20 MagicKingC the first version + */ +#include +#include +#define DAC_DEV_NAME "dac0" +#define DAC_DEV_CHANNEL 0 +static rt_uint32_t sin_wave_vaule[]={ + 2048,2073,2098,2123,2149,2174,2199,2224,2249,2274, + 2299,2324,2349,2374,2399,2423,2448,2473,2497,2522, + 2546,2571,2595,2619,2643,2667,2691,2715,2739,2763, + 2786,2810,2833,2856,2879,2902,2925,2947,2970,2992, + 3015,3037,3059,3081,3102,3124,3145,3166,3187,3208, + 3229,3249,3269,3290,3309,3329,3349,3368,3387,3406, + 3425,3443,3462,3480,3498,3515,3533,3550,3567,3584, + 3600,3617,3633,3648,3664,3679,3694,3709,3724,3738, + 3752,3766,3780,3793,3806,3819,3831,3843,3855,3867, + 3878,3890,3900,3911,3921,3931,3941,3950,3960,3968, + 3977,3985,3993,4001,4008,4015,4022,4029,4035,4041, + 4046,4052,4057,4061,4066,4070,4074,4077,4080,4083, + 4086,4088,4090,4092,4093,4094,4095,4095,4095,4095, + 4094,4093,4092,4091,4089,4087,4084,4082,4079,4075, + 4072,4068,4064,4059,4054,4049,4044,4038,4032,4026, + 4019,4012,4005,3997,3989,3981,3973,3964,3955,3946, + 3936,3926,3916,3906,3895,3884,3873,3861,3849,3837, + 3825,3812,3799,3786,3773,3759,3745,3731,3717,3702, + 3687,3672,3656,3641,3625,3608,3592,3575,3559,3541, + 3524,3507,3489,3471,3453,3434,3416,3397,3378,3358, + 3339,3319,3300,3280,3259,3239,3218,3198,3177,3156, + 3134,3113,3091,3070,3048,3026,3004,2981,2959,2936, + 2913,2891,2868,2844,2821,2798,2774,2751,2727,2703, + 2679,2655,2631,2607,2583,2559,2534,2510,2485,2460, + 2436,2411,2386,2361,2336,2312,2287,2262,2237,2211, + 2186,2161,2136,2111,2086,2061,2035,2010,1985,1960, + 1935,1910,1885,1859,1834,1809,1784,1760,1735,1710, + 1685,1660,1636,1611,1586,1562,1537,1513,1489,1465, + 1441,1417,1393,1369,1345,1322,1298,1275,1252,1228, + 1205,1183,1160,1137,1115,1092,1070,1048,1026,1005, + 983,962,940,919,898,878,857,837,816,796, + 777,757,738,718,699,680,662,643,625,607, + 589,572,555,537,521,504,488,471,455,440, + 424,409,394,379,365,351,337,323,310,297, + 284,271,259,247,235,223,212,201,190,180, + 170,160,150,141,132,123,115,107,99,91, + 84,77,70,64,58,52,47,42,37,32, + 28,24,21,17,14,12,9,7,5,4, + 3,2,1,1,1,1,2,3,4,6, + 8,10,13,16,19,22,26,30,35,39, + 44,50,55,61,67,74,81,88,95,103, + 111,119,128,136,146,155,165,175,185,196, + 206,218,229,241,253,265,277,290,303,316, + 330,344,358,372,387,402,417,432,448,463, + 479,496,512,529,546,563,581,598,616,634, + 653,671,690,709,728,747,767,787,806,827, + 847,867,888,909,930,951,972,994,1015,1037, + 1059,1081,1104,1126,1149,1171,1194,1217,1240,1263, + 1286,1310,1333,1357,1381,1405,1429,1453,1477,1501, + 1525,1550,1574,1599,1623,1648,1673,1697,1722,1747, + 1772,1797,1822,1847,1872,1897,1922,1947,1973,1998, + 2023,2048 +}; +/** + * 通过dac生成sin波形 + * @param agrc + * @param agrv + * @return + */ +static int sin_dac_sample(int agrc, char **agrv){ + rt_dac_device_t dac_dev; + //打开硬件外设 + dac_dev = (rt_dac_device_t)rt_device_find(DAC_DEV_NAME); + if (dac_dev == RT_NULL) { + rt_kprintf("can't find %s device\r\n",DAC_DEV_NAME); + return -RT_ERROR; + } + rt_dac_enable(dac_dev, DAC_DEV_CHANNEL); + rt_kprintf("begin echo sin wave\r\n"); + for (int i = 0; i < 300; ++i) + { + for (int j = 0; j < sizeof(sin_wave_vaule)/sizeof(rt_uint32_t); ++j) { + rt_dac_write(dac_dev, DAC_DEV_CHANNEL, sin_wave_vaule[j]); + rt_thread_mdelay(1); + } + } + rt_kprintf("end echo sin wave\r\n"); + return 0; +} +MSH_CMD_EXPORT(sin_dac_sample,dac out sin wave sample) +``` + +进行程序编译,然后烧录到开发板 + +### 2.3 运行结果 + +打开串口工具输入 ,在finsh 命令行中输入 sin_dac_sample ,然后回车,现象可看下图: + +![测试图.png](./picture/4c9fbc965b9a858e25deca4693f43ba0.png) + +![000.BMP](./picture/16c7f7e36a834dcda9f0f9b09eb4a91c.bmp) + +到此测试完毕 + +### 2.4 总结 + +到此 DAC 测试已经完毕,感觉在本次测试下来的很顺利,开发速度非常块,需要简单的几个配置,就可以将DAC使用起来。 + +### 2.5 附录 + +sin.py + +```python +import numpy as np +import matplotlib.pyplot as plt +t = np.linspace(0,1,512) +y = (np.sin(2*np.pi*t) * 2047) + 2048 +count = 0 +for num in np.round(y): + print("%d" % num, end=',') + count = count +1 + if count % 10 == 0: + print() +plt.scatter(t,y) +plt.show() +``` + +## 3. 原文链接 + +[RT-Thread-【Vision Board 创客营】Vision Board上的DAC实践RT-Thread问答社区 - RT-Thread](https://club.rt-thread.org/ask/article/1fcc6220995f0a38.html) + +# 八、RA8D1 Vision Board上的 SPI 实践(谢小龙) + +## 1. 开发环境 + +### 1.1 创建工程 + +通过RT-Thread官方提供的RT-Studio IDE,开发者可以很轻松的搭建基于Vision-Board开发板的工程。 + +![RA11.png](./picture/wKgaomYmfzyAJNOxAAEZkvfOPqk755.png) + +至于开发板SDK和各种工具(包括ARM CC, PyOCD等)的更新,直接参考官方指南[Vision-Board (rt-thread.org)](https://www.rt-thread.org/document/site/#/rt-thread-version/rt-thread-standard/hw-board/ra8d1-vision-board/ra8d1-vision-board),比较清楚。 + +## 2. 步骤说明 + +### 2.1 SPI配置 + +R7FA8D1BHECBD SPI内部框图如下: + +![RA24.png](./picture/wKgaomYmhICAXLebAAIFfSodhnY464.png) + +因为目的是测试SPI,看了下板子的SPI引出情况,树莓派引脚看了下没硬件SPI,只有几个软SPI没意思,放弃。然后看到RW007的针脚上给了个SPI1,好就这个测试。 + +![RA12.png](./picture/wKgZomYmgSGAQltVAAT6B8GN8-U099.png) + +需要在RT-Studio中选择打开SPI1总线。 + +![RA14.png](./picture/wKgZomYmgaWADQlnAAD1Iqrb7yA792.png) + +### 2.2 FSP配置 + +瑞萨的这个RASC功能还是很强大,堪比STM的CubeMX。配置Vision-Board开发板需要更新FSP到5.1版本。在建好后的工程中,打开RASC来配置具体外设驱动。 + +首先在`Pins`选项中配置好SPI1相关pin,选择混合模式。 + +![RA21.png](./picture/wKgaomYmgnqAeFEgAAItMESsuDs116.png) + +然后在`Stacks`选项中新建`r_spi_b`类型的SPI1,具体属性如下: + +![RA22.png](./picture/wKgaomYmgzKAWuI0AAMiefBoZHw137.png) + +选择好之后,点击`产生工程代码`按钮,生成相关驱动源文件。 + +![RA23.png](./picture/wKgZomYmg72AQS53AAA-ppVZirU527.png) + +### 2.3 SPI测试 + +外接SPI设备,或者直接利用已经接上的RW007模组都OK,甚至可以测试SPI主控的外部loopback。 + +直接短接SPI1的MISO和MOSI针脚,测试数据发送是否能收到。 + +```c +#define SPI_NAME "spi10" +#define CS_PIN BSP_IO_PORT_04_PIN_13 + +static struct rt_spi_device *spi_dev; +/* attach spi device */ +static int rt_spi_device_init(void) +{ + struct rt_spi_configuration cfg; + rt_hw_spi_device_attach("spi1", SPI_NAME, CS_PIN); + cfg.data_width = 8; + cfg.mode = RT_SPI_MASTER | RT_SPI_MODE_0 | RT_SPI_MSB | RT_SPI_NO_CS; + cfg.max_hz = 1 *1000 *1000; + spi_dev = (struct rt_spi_device *)rt_device_find(SPI_NAME); + if (RT_NULL == spi_dev) + { + rt_kprintf("spi sample run failed! can't find %s device!\n", SPI_NAME); + return -RT_ERROR; + } + rt_spi_configure(spi_dev, &cfg); + return RT_EOK; +} +INIT_APP_EXPORT(rt_spi_device_init); +/* spi loopback mode test case */ +static int spi_sample(int argc, char **argv) +{ + rt_uint8_t t_buf[32], r_buf[32]; + int i = 0; + static struct rt_spi_message msg1; + for (i = 0; i < sizeof(t_buf); i++) + { + t_buf[i] = i; + } + msg1.send_buf = &t_buf; + msg1.recv_buf = &r_buf; + msg1.length = sizeof(t_buf); + msg1.cs_take = 1; + msg1.cs_release = 1; + msg1.next = RT_NULL; + rt_spi_transfer_message(spi_dev, &msg1); + rt_kprintf("spi rbuf : "); + for (i = 0; i < sizeof(r_buf); i++) + { + rt_kprintf("%x ", r_buf[i]); + } + rt_kprintf("\nspi loopback mode test over!\n"); + return RT_EOK; +} +MSH_CMD_EXPORT(spi_sample, spi loopback test); +``` + +编译后生成可执行文件,下载到Vision Board开发板: + +![RA26.png](./picture/wKgZomYmhneAOXo4AAD-tcpVVMo906.png) + +### 2.4 运行 + +打开串口连上Vision Board开发板,还是熟悉的logo: + +![RA27.png](./picture/wKgZomYmhtqAcbmfAADGHvYsDSY298.png) + +`list device`可以看到SPI1总线和SPI10设备都在。 + +接下来根据电路图,用镊子将SPI的MISO和MOSI针脚连起来。 + +![RA28.png](./picture/wKgZomYmh1OAUCXxAAD9i_Y923M124.png)输入测试命令`spi_sample`,即可得到测试结果: + +![RA29.png](./picture/wKgZomYmh7mAMc0dAAEGi3P2ja0179.png) + +### 2.5 结论 + +本文通过创建RT-Studio工程,实现了Vision Board上的SPI设备驱动配置和简单的SPI主控的外部loopback功能测试,依托于RT-Studio和FSP强大的功能,用户可以很方便的完成功能实现。 + +## 3. 原文链接 + +[【Vision Board创客营连载体验】RA8D1 Vision Board上的SPI实践 - RT-Thread论坛 - 电子技术论坛 - 广受欢迎的专业电子论坛 (elecfans.com)](https://bbs.elecfans.com/m/jishu_2425388_1_1.html) + +# 九、RA8D1 Vision Board上的PWM实践(丁振富) + +## 1. 开发环境 + +开发环境搭建主要参考开发板环境搭建手册:https://docs.qq.com/doc/DY2hkbVdiSGV1S3JM + +## 2. 步骤说明 + +### 2.1 PWM模块配置过程 + +基于vision board新建rt-thread studio 模板工程 + +![screenshot_image.png](./picture/8af04d86d4e042f5ca725c74cc6dce05.png.webp) + +在RT-Thread Settings里面对GPT进行使能,这里因为开发板树莓派接口中有一个引脚是连到GPT12的所以使能GPT12 + +![screenshot_image.png](./picture/d790c66435258eb5e5123f3d1d26e2ef.png) + +![screenshot_image.png](./picture/1985f8ef20a6a63977c8e6bb9d243c17.png) + +在RA Smart Configurator 中对芯片底层进行配置 + +![screenshot_image.png](./picture/8af59ddaba35b9192bfd53fcb91b33b8.png.webp) + +![screenshot_image.png](./picture/48abdd1080c247f3c1595bec79a370ea.png.webp) + +最后生成代码 + +### 2.2 配置代码编写 + +```c +#include +#include +#include "hal_data.h" +#define LED_PIN BSP_IO_PORT_01_PIN_02 /* Onboard LED pins */ +#define PWM_DEV_NAME "pwm12" /* PWM 设备名称 */ +#define PWM_DEV_CHANNEL 0 /* PWM通道 */ +struct rt_device_pwm *pwm_dev; /* PWM 设备句柄 */ +void hal_entry(void) +{ + rt_kprintf("\nHello RT-Thread!\n"); + //drv_pwm_control(); + rt_uint32_t period, pulse; + period = 500000; /* 周期为0.5ms,单位为纳秒ns */ + pulse = 250000; /* PWM脉冲宽度值,单位为纳秒ns */ + /* 查找设备 */ + pwm_dev = (struct rt_device_pwm *)rt_device_find(PWM_DEV_NAME); + /* 设置PWM周期和脉冲宽度默认值 */ + rt_pwm_set(pwm_dev, PWM_DEV_CHANNEL, period, pulse); + rt_pwm_enable(pwm_dev, PWM_DEV_CHANNEL); + while (1) + { + rt_pin_write(LED_PIN, PIN_HIGH); + rt_thread_mdelay(500); + rt_pin_write(LED_PIN, PIN_LOW); + rt_thread_mdelay(500); + } +} +``` + +输出频率为2k,占空比50%的方波 + +![screenshot_9809d35b9fc9167aa13294eeefda390.jpg](./picture/5cfeba8ee83b12845f3d5992071ee0a3.jpg.webp) + +## 3. 原文链接 + +[RT-Thread-[Vision Board创客营\] PWM模块实践RT-Thread问答社区 - RT-Thread](https://club.rt-thread.org/ask/article/d83fe3f4b7c0d9e1.html) + +# 十、RA8D1 Vision Board上的RTC实践 + +TODO + +# 十一、RA8D1 Vision Board的FLASH实践(叶高瑞) + +## 1. 开发环境 + +🚀🚀环境搭建可以查看这个Vision Board 环境搭建文档(https://docs.qq.com/doc/DY2hkbVdiSGV1S3JM) +,特别需要注意的就是,版本一定要新,我使用之前老版的RASC是不行的,如果开发过程中遇到奇奇怪怪的问题,可以首先检查自己版本的问题。 + +## 2. 步骤说明 + +### 2.1 创建模板工程 + +🚀🚀首先基础的使用我这里就不重复介绍了,官方教程以及Rb导师的视频教程已经足够详细了,我这里就介绍如何移植FAL,因为我是第一次开发Flash,RT-Thread也没接触多少,如有错误还请各位大佬指出,谢谢啦!🙏🙏 + +> 🚀🚀值得注意的地方就是,Rb导师已经把BSP更新到了1.1.0,大家用最新的就好。创建完模板工程大概就是下面这样子。 + +![image-20240417094638310.png](./picture/4920c34524e4916c4851e5ad6f5e1f07.png.webp) + +### 2.2 组件配置 + +🚀🚀这边我们打开DFS和Fatfs,主要是后面会用,所以提前打开一下,如果只是移植FAL的话应该可以不开,因为DFS在FAL的上层,暂时用不到。 + +🚀🚀然后在硬件部分打开片上flash,如下图所示: + + +![image-20240417095356017.png](./picture/fceddd53a1ad50c4a7148f6103f7484c.png)🚀🚀再打开FAL,这里也有点问题,就是现在FAL移植进入内核了,不是软件包了,我还纳闷为啥无法加入。 + +![image-20240417095543520.png](./picture/b821ead302706bc1dc3b67cb4da640c8.png.webp)🚀🚀然后我们编译一下,不出意外的话出问题了,报错如下: + +![image-20240417100336779.png](./picture/90f556609b2ee9f1e92f7f1efe02cb60.png.webp) + +![image-20240417100352153.png](./picture/d6eb12a1cd0a2450cf7350530ae937e0.png.webp) + +### 2.3 初始化FAL + +🚀🚀然后我们使初始化fal,代码如下所示: + +```c +#include +#include +#include "hal_data.h" +#define LED_PIN BSP_IO_PORT_01_PIN_02 /* Onboard LED pins */ +void hal_entry(void) +{ + rt_kprintf("\nHello RT-Thread!\n"); + fal_init(); // 介里 + while (1) + { + rt_pin_write(LED_PIN, PIN_HIGH); + rt_thread_mdelay(500); + rt_pin_write(LED_PIN, PIN_LOW); + rt_thread_mdelay(500); + } +} +``` + +🚀🚀搞完了之后再编译还是一堆报错,这个时候我们重启一下Studio,再次编译就好了,问了一下大佬,可能是编译缓存的原因,暂时也没搞懂。 + +🚀🚀然后接到开发板的DAPlink上面烧录就好了,成功之后应该是这样的: + +![image-20240417124633787.png](./picture/c6e26c24cb379d5de560555c99573a57.png.webp) + +### 2.4 测试 + +🚀🚀然后测试fal命令,如下所示: + +#### 2.4.1 probe + +``` +fal probe disk +``` + +![image-20240417101402715.png](./picture/6a9829dfe71b6247e2c45e5a2cbbaaef.png.webp) + +#### 2.4.2 erase + +``` +fal erase 0 128 +msh />fal erase 0 128 +Erase data success. Start from 0x00000000, size is 128. +``` + +#### 2.4.3 write + +``` +msh />fal write 4 1 2 3 4 +Write data success. Start from 0x00000004, size is 4. +Write data: 1 2 3 4 . +``` + +#### 2.4.4 read + +``` +msh />fal read 0 4 +Read data success. Start from 0x00000000, size is 4. The data is: +Offset (h) 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F +[00000000] 82 EF EC C1 +``` + +🚀🚀结果如下图所示(第一次接触,不太会用): + +![image-20240417130005478.png](./picture/c8751d830a760d5c6c2ec7386cef35c7.png.webp) + +### 2.5 总结 + +🚀🚀因为是第一次接触,所以很多地方不太懂,请大家见谅,然后Rb导师还要我移植一个文件系统,算是全新的尝试,我也会写一篇文章来记录,谢谢大家! + +## 3. 原文链接 + +[RT-Thread-Vision Board创客营\学习片上Flash移植FALRT-Thread问答社区 - RT-Thread](https://club.rt-thread.org/ask/article/f65fc7346df2b749.html) + +# 十二、RA8D1 Vision Board上的WDT实践(高高) + +## 1. 开发环境 + +### 1.1 资源下载 + +> 参考官网的文档说明,先把资料都下载下来; +> https://www.rt-thread.org/document/site/#/rt-thread-version/rt-thread-standard/hw-board/ra8d1-vision-board/ra8d1-vision-board + +![screenshot_image.png](./picture/1b15d3e3440bb33eb54b64ecb5319e68.png) + +### 1.2 软件安装 + +> 本文主要使用IDE来进行开发,所以就没有使用mdk和evn😬 +> + +(1)renesas fsp5.1.0(芯片配置工具) +这个软件用于自动生成驱动配置,类似stm32的cubemx; + +(2)RT-Thread Studio(开发工具) +个人而言,这个软件的中间件配置过程比evn方便一些;不过这个云盘里面没有,自己去官网下载吧;https://www.rt-thread.org/studio.html + +## 2. 步骤说明 + +### 2.1 环境配置 + +这里主要参考官网就可以: + +![screenshot_image.png](./picture/7741afe82cb13205567304a8d48fb9ef.png.webp) + +到这里,相信大家都已经可以实现一个点灯程序了😘 + +### 2.2 RA 配置工具的使用 + +#### 2.2.1 在ide中打开RA 配置工具 + +![screenshot_image.png](./picture/322eac08fdd59d88b157e559d5bf24f8.png.webp) + +#### 2.2.2 找到ra安装的安装目录 + +![screenshot_image.png](./picture/3081b65eecbf00f54c0910ce3ee1feb5.png.webp) + +如果不想登录,也无伤大雅😂 + +![screenshot_image.png](./picture/d00896fd2bbbaef6541d2d8766614c8d.png.webp) + +#### 2.2.3 生成wdt驱动 + +做完下面这几步,如果不想看太多废话,其实本文也差不多结束了🧐 + +![screenshot_image.png](./picture/102f176534483d68a15e6a24b27a837e.png.webp) + +### 2.3 开启wdt组件,copy官网demo + +#### 2.3.1 添加wdt组件 + +不得不说ide的组件丝滑开启效果,使得rtt在众多rtos中让人备受喜爱🥰 + +![screenshot_image.png](./picture/1a7d568e1a0bae2ba3046378804fb44d.png.webp) + +这里直接搜索关键字,就可以直接开启 + +![screenshot_image.png](./picture/28f92cb5634bec1ad0c938bf666ad6b6.png.webp) + +使用wdt设备驱动 + +![screenshot_image.png](./picture/63490f937360e0456ab18fc26914daf3.png.webp) + +enable watchdog timer + +![screenshot_image.png](./picture/c3bb0376720f368b9df8e056168da5c6.png.webp) + +### 2.4 编译与DEBUG + +> 截至目前为止,我的手还是没有输入是实质的所谓code; +> 但是“幸好”出现了下面的错误😅 + +![screenshot_image.png](./picture/16d15c79fabf3bc6e0bfb9331e9e8a87.png.webp) + +> 这也是目前为什么AI还暂时没有让各位失去工作的原因; +> 解决这个问题很简单,只需要按照提示进行修改; +> 因为ra配置生成的变量名与系统sdk内写的是不同的; +> 当然,在这里也给我水PR埋下了伏笔; + +### 2.5 copy官网demo(稍微有坑) + +#### 2.5.1 copy demo + +官网上给每一个组件都写了一个demo说明,借助与rtt的系统分层,实际上这些demo都是基于文件操作,所以按理来说,都可以直接使用,但是驱动就是驱动,有些地方还是有所不同 + +![screenshot_image.png](./picture/5a89a36950447719a22b560f2d7383d9.png.webp) + +> 这里我将copy过来的代码直接放到了main.c的同级目录之下 +> +> ![screenshot_image.png](./picture/75401d932cca3c0a13c8cd7058fe54bf.png.webp) + +#### 2.5.2 DEBUG + +##### 2.5.2.1 查看设备 + +![screenshot_image.png](./picture/e9faca683c5de47b560fae07bb833e25.png) + +##### 2.5.2.2 运行demo + +发现是存在问题的; +因为这里wdt的设置只能在ra配置中修改; +而ra提供的api中,wdt的设置只能在open的时候直接进行修改; + +![screenshot_image.png](./picture/b1a97b87d379d867ec4c3d84b55f50f4.png) + +于是,这里基于官网的demo,给出一个更简洁的demo; + +``` +/* + * 程序清单:这是一个独立看门狗设备使用例程 + * 例程导出了 wdt_sample 命令到控制终端 + * 命令调用格式:wdt_sample wdt + * 命令解释:命令第二个参数是要使用的看门狗设备名称,为空则使用例程默认的看门狗设备。 + * 程序功能:程序通过设备名称查找看门狗设备,初始化设备。 + * 然后设置空闲线程回调函数,在回调函数里会喂狗。 + */ +#include +#include +#define WDT_DEVICE_NAME "wdt" /* 看门狗设备名称 */ +static rt_device_t wdg_dev; /* 看门狗设备句柄 */ +static void idle_hook(void) +{ + /* 在空闲线程的回调函数里喂狗 */ + rt_device_control(wdg_dev, RT_DEVICE_CTRL_WDT_KEEPALIVE, NULL); + rt_kprintf("feed the dog!\n "); +} +static int wdt_sample_v2(int argc, char *argv[]) +{ + rt_err_t ret = RT_EOK; + rt_uint32_t timeout = 1; /* 溢出时间,单位:秒 */ + char device_name[RT_NAME_MAX]; + /* 判断命令行参数是否给定了设备名称 */ + if (argc == 2) + { + rt_strncpy(device_name, argv[1], RT_NAME_MAX); + } + else + { + rt_strncpy(device_name, WDT_DEVICE_NAME, RT_NAME_MAX); + } + /* 根据设备名称查找看门狗设备,获取设备句柄 */ + wdg_dev = rt_device_find(device_name); + if (!wdg_dev) + { + rt_kprintf("find %s failed!\n", device_name); + return RT_ERROR; + } + /* 启动看门狗 */ + ret = rt_device_control(wdg_dev, RT_DEVICE_CTRL_WDT_START, RT_NULL); + if (ret != RT_EOK) + { + rt_kprintf("start %s failed!\n", device_name); + return -RT_ERROR; + } + /* 设置空闲线程回调函数 */ + rt_thread_idle_sethook(idle_hook); + return ret; +} +/* 导出到 msh 命令列表中 */ +MSH_CMD_EXPORT(wdt_sample_v2, wdt sample); +``` + +2.5.2.3 再次运行 + +![screenshot_image.png](./picture/8f1334224f045fc314cd2b15f5b10f39.png.webp) + +### 2.6 关于提issue + +当你遇到难以解决的问题,除了在论坛里面向各位路过的好心人寻求帮助; +还可以直接提issue到git中,因为这可以直接炸到项目维护者的邮箱中; +但是前提是,这个issue是有价值的,而不是毫无意义的垃圾邮件; +就像这样,其实也不是很规范 + +![screenshot_image.png](./picture/a8991fd3481905328f06ec83b9cb974b.png.webp) + +### 2.7 关于提PR + +公众号里面有一篇置顶的文章;大家可以参考一下; +至于你问我为啥要提PR,大概是一种莫名的快乐吧🙂 + +![screenshot_image.png](./picture/0e41e3ff5f8d9adc4b4b3f18f3a803c7.png.webp) + +## 3. 原文链接 + +[RT-Thread-[Vision Board创客营\]WDT实践之配置、issue、PR一条龙RT-Thread问答社区 - RT-Thread](https://club.rt-thread.org/ask/article/42c76248a13a5e8c.html) + +# 十三、RA8D1 Vision Board上的IIC实践 + +TODO + +# 十四、RA8D1 Vision Board上QSPI-Flash实践 + +## A. 【Vision Board创客营连载体验】RA8D1 Vision Board 实现 FAL 同时调用片上以及外挂 Flash(刘万涛) + +### 1. 开发环境 + +#### 1.1 开发简述 + +> 由于本人初次接触瑞萨及 RT-Thread,存在以下遗留问题欢迎各位讨论,此外若有问题、也恳请不吝赐教! +> +> - 如何验证 QSPI 模式启用成功?即如何区别 QSPI 与 SPI? +> - 为何 SFUD 最后会报错提示 [E/SFUD] ERROR: Flash device W25Q64 not found! ? + +使用软件: + +- RT-Thread Studio 2.2.7 -> 工程创建与编辑 + - FSP Smart Configurator 23.10.0 (FSP Version: 5.1.0) -> 配置和管理 RA8D1 芯片 + - MobaXterm Personal Edition V24.0 -> 串口终端 + +- 测试内容:QSPI-FLASH(fal+文件系统) +- 测试对象:8 MB QSPI-FLASH(型号:W25Q64JV) + +#### 1.2 环境搭建 + +主要参考 [RT-Thread 文档中心](https://www.rt-thread.org/document/site/#/rt-thread-version/rt-thread-standard/hw-board/ra8d1-vision-board/ra8d1-vision-board?id=%e7%8e%af%e5%a2%83%e6%90%ad%e5%bb%ba)以及官方创建的[腾讯在线文档](https://docs.qq.com/doc/DY2hkbVdiSGV1S3JM) + +#### 1.3 遇到的问题及解决方案 + +在官方文档的指引下,安装过程本是一路顺风,最后却卡在了 RT-Thread Studio 的 .exe 安装步骤。 + +错误现象:双击或右键管理员打开 .exe 文件均无反应 +解决办法:本来以为需要研究用户组策略等问题,但最后无意间发现,只需要右键 .exe 文件进入属性页,勾选“解除锁定”复选框即可… +![alt text](./picture/wKgaomYoyyaAbirJAAAhLbT1XCw150.png) + +### 2. 步骤说明 + +#### 2.1 启用 FAL 组件并同时调用 片上&外挂 Flash + +初次接触 RT-Thread,进度比大家慢,因此也获得了参考前辈们经验的机会,在此表达敬意! + +参考资料: + +[RT-Thread 使用FAL多字节读写FLASH](https://blog.csdn.net/zhengnianli/article/details/106684335)(作者:[嵌入式大杂烩](https://blog.csdn.net/zhengnianli)) +[RT-Thread FAL 组件使用](https://www.jianshu.com/p/b3fe425082fa)(作者:[tang_jia](https://www.jianshu.com/u/505a242ff76a)) +[W25Q64JV 官方手册](https://atta.szlcsc.com/upload/public/pdf/source/20191218/C179171_92C5C91D0324539EDD8F1160D2E79C0F.pdf) +[【Vision Board创客营连载体验】RA8D1 Vision Board上的SPI实践](https://bbs.elecfans.com/jishu_2425388_1_1.html)(作者:[大菠萝Alpha](https://bbs.elecfans.com/user/4709755/)) + +##### 2.1.1 配置 RT-Thread Settings + +首页:Drivers 启用串口、Pin、SPI、SFUD: + +![alt text](./picture/wKgaomYoy0qAIYrOAAIYJjSHICA445.png) + +组件页:设置如下: + +![alt text](./picture/wKgaomYoy3KAU1VyAAFA-ptUuZg444.png) + +![alt text](./picture/wKgZomYoy3aAJttuAAFdHMeSWgI942.png) + +硬件页:启用 Onchip FLASH、SPI1 BUS: + +![alt text](./picture/wKgaomYoy36AWztIAAEnH5IoA9g071.png) + +##### 2.1.2 配置RASC + +Stacks:启用 g_spi1 SPI(r_spi_b)、g_flash FLASH(g_flash_hp) 栈: + +![alt text](./picture/wKgaomYoy4mATbhDAAEC7OW2HGE577.png) + +这里需要注意,两个栈的具体设置需要与代码对齐: + +![alt text](./picture/wKgaomYoy5mAfjpwAAHpUULAgfc814.png) + +![alt text](./picture/wKgZomYoy5SAJHn8AAJkUV4GZfQ023.png) + +Pins:配置 SPI1 相关引脚 + +> (注:也是因为这里 SPI0 的引脚设置不好,前面才选择启用 SPI1 BUS,原因不详,若有了解、请指教!) + +![alt text](./picture/wKgaomYoy46AQtA-AAE6Rc-mYjk938.png) + +最后创建相关文件即可!RASC 光荣退休!(不是) + +![alt text](./picture/wKgZomYoy5-ADi33AAD6G_-5uXI078.png) + +#### 2.2 代码编写 + +我这里将 SPI 初始化行为独立成了一个 spi_init.c 文件存放在 /src 路径: + +``` + #include + #include + #include "hal_data.h" + #define SPI_NAME "spi10" + #define CS_PIN BSP_IO_PORT_04_PIN_13 + static struct rt_spi_device *spi_dev; + static int rt_spi_device_init(void){ + struct rt_spi_configuration cfg; + rt_hw_spi_device_attach("spi1", SPI_NAME, CS_PIN); + cfg.data_width = 8; + cfg.max_hz = 1 * 1000 * 1000; + spi_dev = (struct rt_spi_device *)rt_device_find(SPI_NAME); + if (RT_NULL == spi_dev){ + rt_kprintf("Can't find spi device named %s", SPI_NAME); + return -RT_ERROR; + } + rt_spi_configure(spi_dev, &cfg); + return RT_EOK; + } + INIT_APP_EXPORT(rt_spi_device_init); +``` + +然后在 `/board/ports/fal_cfg.h` 文件中定义`设备表`与`分区表`,我这里将 BootLoader 和 APP 放在片上 Flash,外挂 Flash 单独分区: + +``` + #ifndef _FAL_CFG_H_ + #define _FAL_CFG_H_ + #include "hal_data.h" + extern const struct fal_flash_dev _onchip_flash_hp0; + extern const struct fal_flash_dev _onchip_flash_hp1; + extern struct fal_flash_dev nor_flash0; + /* flash device table */ + #define FAL_FLASH_DEV_TABLE \ + { \ + &_onchip_flash_hp0, \ + &_onchip_flash_hp1, \ + &nor_flash0, \ + } + /* ====================== Partition Configuration ========================== */ + #ifdef FAL_PART_HAS_TABLE_CFG + /** partition table, The chip flash partition is defined in "\ra\fsp\src\bsp\mcu\ra6m4\bsp_feature.h". + * More details can be found in the RA6M4 Group User Manual: Hardware section 47 Flash memory.*/ + #define FAL_PART_TABLE \ + { \ + {FAL_PART_MAGIC_WROD, "boot", "onchip_flash_hp0", 0, BSP_FEATURE_FLASH_HP_CF_REGION0_SIZE, 0}, \ + {FAL_PART_MAGIC_WROD, "app", "onchip_flash_hp1", 0, (BSP_ROM_SIZE_BYTES - BSP_FEATURE_FLASH_HP_CF_REGION0_SIZE), 0}, \ + {FAL_PART_MAGIC_WROD, "disk", "W25Q64", 0, (BSP_DATA_FLASH_SIZE_BYTES), 0}, \ + } + #endif /* FAL_PART_HAS_TABLE_CFG */ + #endif /* _FAL_CFG_H_ */ +``` + +最后在 /src/hal_entry.c 内进行 fal 的初始化即可: + +``` + #include + #include + #include "hal_data.h" + void hal_entry(void) + { + rt_kprintf("\nHello RT-Thread!\n"); + fal_init(); + } +``` + +2.3 效果展示 + +> 这里不理解为何会有一个报错,明明 fal probe 能探到,且 list device 也有 W25Q64…如果搞懂了我会实时更新文章! + +![alt text](./picture/wKgaomYoy7KAT6ApAAFRMwcec50602.png) + +#### 2.4 文件系统的搭建 + +TODO + +### 3. 原文链接 + +[RT-Thread-【Vision Board创客营连载体验】RA8D1 Vision Board 实现 FAL 同时调用片上以及外挂 FlashRT-Thread问答社区 - RT-Thread](https://club.rt-thread.org/ask/article/a245feaf13986a1d.html) + +## B. 【Vision Board创客营连载体验】RA8D1-Vision Board上SSPI-Flash实践(袁亨) + +### 1. 开发环境 + +> RT-Thread Studio + +#### 1.1 开发目的 + +使用RT-Thread Studio测试OSPI对板载norFlash的读写,使用片外基于 SFUD 的 spi flash组件,并使用 FAL 抽象层进行管理和操作,并挂载文件系统。 + +#### 1.2 开发结果 + +由于对FSP生成的ospi的flash驱动API不了解,且评测时间已到,故尝试使用软件模拟SPI实现对板载norFlash的读写,完成其他目的。 + +先看结果:使用内置sspi驱动实现SFUD、FAL和Fatfa的使用。 + +![img](./picture/wKgaomY7kiaAN94IAAI1-gKDRIA344.png) + +### 2. 步骤说明 + +#### 2.1 FSP配置 + +![img](./picture/wKgZomY7kx2Adz_VAADx7Vp_J3c542.png) + +![img](./picture/wKgaomY7kx6AaqNjAAE-p3lxS6c982.png) + +此时编译如果有报错就去工程目录下删除报错文件。 + +#### 2.2 Set[ti](https://bbs.elecfans.com/zhuti_715_1.html)ngs配置 + +![img](./picture/wKgaomY7k_mAWoWYAACxFSk1UIA034.png) + +![img](./picture/wKgZomY7k_eAaxYDAAD1Xgz1kgA293.png) + +![img](./picture/wKgZomY7k_aAfyiEAAEjYKB5C4s254.png) + +未标出的默认,关闭硬件SPI。 + +#### 2.3 增加文件 + +去[STM32](https://bbs.elecfans.com/zhuti_stm32_1.html)-BSP-DRV中拷贝drv_soft_spi.c和.h文件到APP文件夹,并修改相关引脚定义和宏定义,编译会发现有一处报错,需要修改相关数据类型。 + +![img](./picture/wKgaomY7lZqABPNOAACJbGwNGbI477.png) + +#### 2.4 编写程序 + +![img](./picture/wKgZomY7llmAd_ooAADG9OXVAoc100.png) + +![img](./picture/wKgZomY7llmAd_ooAADG9OXVAoc100-1715824965435-39.png) + +![img](./picture/wKgZomY7lliAW2T5AAE9Op1LuwM476.png) + +#### 2.5 下载调试 + +可以先打开sspi的打印调试,调试SFUD可识别芯片后再调试FAL,最后测试Fatfs。 + +![img](./picture/wKgaomY7l7KAMAa3AAC5qhnHcCw082.png) + +### 3. 原文链接 + +[【Vision Board创客营连载体验】RA8D1-Vision Board上SSPI-Flash实践 - RT-Thread论坛 - 电子技术论坛 - 广受欢迎的专业电子论坛! (elecfans.com)](https://bbs.elecfans.com/jishu_2426488_1_1.html#pid9032263) + +## C. 【Vision Board创客营连载体验】RA8D1-Vision Board上OSPI-Flash实践 + +### 1. 开发环境 + +#### 1.1 开发目的 + +使用RT-Thread Studio测试OSPI对板载norFlash的读写,使用FAL 抽象层进行管理和操作。 + +#### 1.2 开发结果 + +先看结果:使用ospi驱动实现FAL。 + +![img](./picture/wKgZomY_KuaAZOtBAAE00kxQ4uo912.png) + +### 2. 步骤说明 + +#### 2.1 创建工程 + +使用RT-Thread Studio创建工程 + +![img](./picture/wKgZomZB2xOAF4J3AAItsyrSEwc106.png) + +#### 2.2 FSP配置 + +FSP配置:最开始自己按照官方例程配置,在尝试无法获取UID后,参考了另一位导师袁杰的单线SPI驱动,发现是工程模板默认配置的CS引脚是CS0,实际硬件连接为CS1。 + +![img](./picture/wKgZomY_LPKAThQ9AABG8BQOdhs178.png) + +![img](./picture/wKgaomY_LPKAdy60AAB5Or8NFy4074.png) + +![img](./picture/wKgZomY_LPGAf4T1AAB-f8fZZrg918.png) + +![img](./picture/wKgZomY_LX2AQFQWAAEQ2W8OIYQ621.png) + +![img](./picture/wKgaomY_LgGAVqYUAAFaVB3n818984.png) + +![img](./picture/wKgZomY_LgGAYpquAADY5qFl8DU455.png) + +#### 2.3 Setting配置 + +由于未对接dev_qspi框架,部分配置实际上未起作用。 + +![img](./picture/wKgZomY_LsqAMMohAADYaSHGYH8776.png) + +![img](./picture/wKgaomY_LsqAcBWTAADC24yF-D8556.png) + +#### 2.4 增加文件 + +拷贝了官方例程文件中的初始化文件和单线SPI中的drv_w25qxx的FAL接口文件到APP文件夹 + +![img](./picture/wKgaomY_L_mAKWCpAAF6irgdw_Y632.png) + +![img](./picture/wKgZomY_L_mAc208AAFd9lFVReQ562.png) + +#### 2.5 编写程序 + +由于使用的flash芯片型号不同,主要修改了官方例程的配置和初始化内容。并对FAL接口中的部分函数调用做了修改。 + +#### 2.6 下载调试 + +首先需要调试初始化在识别芯片UID后,此时可确定配置正常,修改芯片状态后再调试和测试FAL执行情况。 + +![img](./picture/wKgZomY_MdiAZ-c1AAFSsrBNfNg777.png) + +### 3. 原文链接 + +[【Vision Board创客营连载体验】RA8D1-Vision Board上OSPI-Flash实践 - 嵌入式技术论坛 - 电子技术论坛 - 广受欢迎的专业电子论坛! (elecfans.com)](https://bbs.elecfans.com/jishu_2428940_1_1.html) + +## D.【RA8D1-Vision Board】SCI的SPI模式对接FAL(王凯) + +### 1. 开发环境 + +RT-Thread Studio 版本: 2.2.6 (开发环境) +Board Support Packages: Renesas => VISION-BOARD 1.1.0 +Renesas FSP 5.1.0 (瑞萨芯片配置工具) + +### 2. 步骤说明 + +#### 2.1 新建工程 + +RT-Thread Studio:文件=>新建=>RT-Thread项目 +Project name: VisionBoard_Test3 +基于开发板选项 +开发板:VISION-BOARD +BSP:1.1.0 +类型:模板工程 +RT-Thread:5.0.2 +调试器:DAP-LINK(板载调试器) +接口:SWD +![image1.png](./picture/83f138fec5600ffd4e5f25c673269b2f.png.webp) + +#### 2.2 生成SCI下的SPI驱动 + +1.选择开发板SCI2-SPI的对应引脚。PA04、PA02、PA03和P008分别做SPI的SCK、MISO、MOSI和CS。 + +![image2.png](./picture/e8aa88af155f347774f2c7ea37034be3.png.webp) + +2.更新RT-Thread Studio链接的瑞萨的FSP配置工具。右键单击RA Smart Configurator =>更新RA Smart Configurator路径,选择Renesas FSP 5.1.0的安装路径。 +![image3.png](./picture/1d780c0e00c46e773cada1279f103a01.png) + +3.双击RA Smart Configurato打开Renesas FSP配置工具,先配置SCI2-SPI外设。Pin => Pin Function => Peripherals => Connectivity:SCI => SCI2。 + +Pin Group Selection: Mixed +Operation Mode: Simple SPI(非常关键) +MISO2: PA02 +SCK2: PA04 +MOSI2: PA03 + +![image4.png](./picture/17d1c255c9adc749f781b5f64cd8cff4.png.webp) + +4.配置SPI的CS引脚,通过普通GPIO模拟CS信号的方式。Pin => Pin Function => Ports => P0 => P008。 + +Mode: Output mode (Initial High) +P008: GPIO + +![image5.png](./picture/b0271df596af5c6dce47ffc8e35bd85d.png.webp) + +5.新建SCI2-SPI外设。Stacks => New Stack => Connectivity => SPI(r_sci_b_spi)。 + +![image6.jpeg](./picture/f7b626883862e0927647be5b1d05be98.jpeg.webp) + +6.配置SCI2-SPI外设。单击刚刚新建的外设。按照下图配置。 + +![image7.png](./picture/7679565c65e9beefb7e40dbaa12932b0.png) + +7.保存并生成配置。File => Save。再点击Generate Project Content。至此SCI2-SPI的外设已生成。相关文件在工程目录下ra => fsp => r_sci_b_spi文件夹下。 + +![image8.png](./picture/fa588e4d21df5725c967f89c0c7e6ba9.png.webp) + +8.测试SCI2-SPI是否正常工作。外设正常工作。 + +a) 添加SCI2-SPI的初始化代码 + +![image9.png](./picture/db453591d2783a724ade8f158a95c046.png) + +b) 添加SCI2-SPI的callback函数 + +![image10.png](./picture/aea164defc29a08b25e677366542bc54.png) + +c) 添加读NOR FLASH的JEDC ID的程序 + +![image11.png](./picture/ed35ee19ce823aac3a4cadabcad45660.png) + +d) 串口输出结果 + +![image12.jpeg](./picture/711f0466fe222dfe80bf4980e6c0d9f3.jpeg.webp) + +e) 示波器测试结果 + +![image13.jpeg](./picture/c0229d82e75ca44807a0e3883780a75f.jpeg.webp) + +9.备注:该开发板上的SCI2-SPI引脚已排针形式给出,因此上述需要在这些引脚上外接一个NOR FLASH芯片。 + +![image14.jpeg](./picture/57400118b639bcce290beba82a6b5f0f.jpeg.webp) + +#### 2.3 对接FAL文件系统 + +因为目前RT-Thread Studio上FAL对接的是SPI外设,没有对接到SCI2-SPI外设。因此需要单独将SCI2-SPI的外设对接到FAL上。 + +1.打开 RT-Thread Settings => 组件 + +使能FAL: flash abstraction layer +注意不要使能FAL使用SFUD驱动程序 +相关文件保存在rt-thread => components => fal 文件夹下 + +![image15.png](./picture/56db9c88ad0668915eac66487cbfa369.png.webp) + +2.删除fal_cfg.h下的FAL_FLASH_DEV_TABLE 和 FAL_PART_TABLE 两个宏定义下的内容并重新添加。 + +![image16.png](./picture/aceae7e3145fa35b86ea751629751812.png.webp) + +3.在hal_entry.c文件里添加FAL接口API,和fal_flash_dev 内容。 + +![image17.png](./picture/80ba84d399a39bcf739f4080d08afcb6.png.webp) + +4.添加FAL初始化程序 + +![image18.png](./picture/79b3728999a5231a3ea270acf903a276.png.webp) + +5.编译下载测试。初始化正常、FAL读写正常、FAL bench正常。 + +![image19.png](./picture/1fe108fb389eb0cce7e57882121f79e6.png) + +![image20.png](./picture/100f37a933703d25e289290611449829.png) + +![image21.png](./picture/e36e8d49471058cf8a094528acccdcc9.png) + +> 备注。SCI2-SPI的CLK的频率配置的是1MHz。 + +### 3. 原文链接 + +[RT-Thread-【RA8D1-Vision Board】SCI的SPI模式对接FALRT-Thread问答社区 - RT-Thread](https://club.rt-thread.org/ask/article/b0c0b9beef2bb597.html) + +## E. 【RA8D1-Vision Board】基于OpenMV 实现图像分类(王凯) + +### 1. 开发环境 + +#### 1.1 准备数据集 + +网上收集4种花的图片数据集 + +![1.JPG](./picture/62fd9003ce19124e3d3b6008bd9911b1.jpg) + +![2.JPG](./picture/7f02935fa7fa2c775e22fdaeb3c406e0.jpg.webp) + +![3.JPG](./picture/009a5828f2d99daa5f4a9974ec59c5bf.jpg.webp) + +![4.JPG](./picture/e82a322731300449885ff3338b784d6f.jpg.webp) + +![5.JPG](./picture/cccf86dc77e48b1dee1488aab1d892da.jpg.webp) + +### 2. 步骤说明 + +#### 2.1 在EDGE IMPULSE上创建工程 + +![6.JPG](./picture/c4120dd502806b8606b8bcb61db05b17.jpg.webp) + +#### 2.2 上传数据集并添加标签 + +![7.JPG](./picture/e37f39ed10aa4732514bd9d532f6a833.jpg.webp) + +![8.JPG](./picture/f3dba687a3709bfdfe131adeaa9549f8.jpg.webp) + +#### 2.3 创建模型 + +![9.JPG](./picture/4bb70eec5ddf222107296c19adcfa6f7.jpg.webp) + +#### 2.4 生成features + +![10.JPG](./picture/fb54b30906093dd731fa2d8647c9c00d.jpg.webp) + +#### 2.5 设置训练参数并开始训练 + +![11.JPG](./picture/770ed255cc8a362a3a63232a9363ae59.jpg.webp) + +#### 2.6 等待训练完成并生成 + +![12.JPG](./picture/5924cd16d00efc183569e3d160bcbcce.jpg.webp) + +#### 2.7 测试集验证 + +![13.JPG](./picture/4404bc00298b799ad3b7541e0cb0e8a0.jpg.webp) + +#### 2.8 生成MCU可加载的模型 + +![14.JPG](./picture/6cadc780e64022301539eb84b3eacc87.jpg.webp) + +最终下载下来的有3个文件。OpenMV可执行的.py文件,label文件和.tflite模型文件。 + +![15.JPG](./picture/37dc0b0ede9522d8c22ab35f80c7da3a.jpg.webp) + +将labels.txt 和 trained.tflite文件放入TF卡并插入开发板中,将.py文件直接放到OpenMV中运行。 + +#### 2.9 测试 + +识别测试集中的向日葵 0.83 + +![17.JPG](./picture/01285e5be1cb1e31ed58636380206373.jpg.webp) + +识别测试集中的玫瑰 0.99👍 + +![18.JPG](./picture/bfdf8686fe854d92e78351e903b39df6.jpg.webp) + +识别测试集中的蒲公英 0.99👍 💪 + +![19.JPG](./picture/07c9bdf6bfd67ef149920fcedea2ede1.jpg.webp) + +#### 2.10 B站链接 + +https://www.bilibili.com/video/BV1Rk7DeZETe/?vd_source=d0d5d8a9b1322a9e6e56535941f81d7d + +### 3. 原文链接 + +[RT-Thread-【RA8D1-Vision Board】基于OpenMV 实现图像分类RT-Thread问答社区 - RT-Thread](https://club.rt-thread.org/ask/article/d7b83ada66a196d5.html) + +# 十五、RA8D1 Vision Board上的RW007实践 + +## A. RA8D1 Vision Board上的RW007实践——WiFi延迟和带宽测试(许思维) + +### 1. 开发环境 + +#### 1.1 安装RT-Thread Studio + +#### 1.2 安装开发板支持包 + +打开RT-Thread Studio后,找到SDK Manager(SDK管理器)图标,并单击: + +![Untitled](./picture/202404212159225.png) + +在弹出的RT-Thread SDK管理器界面中,找到Vision-Board支持包,选中并安装: + +![Untitled](./picture/202404212159226.png) + +#### 1.3 安装调试器支持包 + +继续在SDK管理器界面中,下拉到PyOCD下方,安装最新板的调试器支持包: + +![Untitled](./picture/202404212159227.png) + +#### 1.3 安装工具链支持包 + +工具链,建议下载最新的: + +![Untitled](./picture/202404212159228.png) + +### 2. 步骤说明 + +#### 2.1 新建工程 + +接着,通过RT-Thread Studio菜单栏,”文件”→“新建” → “RT-Thread项目”打开新建项目界面。 + +![rs_create_project.png](./picture/202404212159229.png) + +新建项目界面,按照如下步骤操作: + +1. 选中“基于开发板”; +2. 开发板下拉菜单选择“VISION-BOARD”; +3. 类型选择“示例工程”; +4. 示例选择“vision_board_wifi”; +5. 如果一开始没有填写project name,第4步选择后,project name将会变成vision_board_wifi; + +如下图所示: + +![Untitled](./picture/202404212159230.png) + +此时,点“完成”,就会创建项目文件了: + +![Untitled](./picture/202404212159231.png) + +#### 2.2 编译下载 + +##### 2.2.1 编译代码 + +点击工具栏的锤子图标,或者使用快捷键Ctrl+B,编译项目: + +![Untitled](./picture/202404212159232.png) + +编译完成后,可以看到控制台输出了RAM和Flash占用: + +![Untitled](./picture/202404212159233.png) + +##### 2.2.2 下载程序 + +下载固件之前,首先安装好VISION-BOARD的WiFi天线,如下图所示: + +![visionboard_rw007_ant.jpg](./picture/202404212159234.jpg) + +然后,使用USB Type-C线将PC和开发板连接起来,注意连接到板子的USB-DBG口,如下图所示: + +![visionboard_rw007_usb.jpg](./picture/202404212159235.jpg) + +连接好USB线之后,回到RT-Thread Studio中,使用“下载”按钮(或者Ctrl+Alt+D快捷键),开始下载程序: + +![Untitled](./picture/202404212159241.png) + +或Ctrl+Alt+D即可进行烧录。 + +下载完成后,控制台窗口可以看到: + +![Untitled](./picture/202404212159242.png) + +#### 2.3 WIFI测试 + +接下来连接串口终端,我用的是MobaXterm,参数配置如下: + +![Untitled](./picture/202404212159243.png) + +连接串口后,按下板子上的复位键,可以看到: + +![Untitled](./picture/202404212159244.png) + +有RT-Thread系统启动日志,以及RW007模组的固件信息。 + +接下来,我们进行一些简单的WiFi测试。 + +首先,输入wifi命令,可以查看wifi命令的使用方式: + +![Untitled](./picture/202404212159245.png) + +#### 2.4 扫描测试 + +使用wifi scan命令,尝试扫描周围的WiFi热点: + +![Untitled](./picture/202404212159246.png) + +可以看到,成功扫描到了周围的WiFi热点。 + +#### 2.5 连接测试 + +执行wifi join命令,尝试连接其中的一个热点(这里连接的是无线路由器): + +![Untitled](./picture/202404212159247.png) + +其中,马赛克的部分是WiFi密码。 + +可以看到,成功连接上了WiFi热点,并且获取到了IP地址。 + +#### 2.6 延迟测试 + +ping命令可以输出玩咯延迟信息,可以作为网络延迟的简单测试工具。 + +##### 2.6.1 ping百度 + +接下来,用 ping 命令测试一下,板子能不能ping通baidu.com: + +![Untitled](./picture/202404212159248.png) + +可以ping通baidu.com,说明TCP/IP协议基本没有太大问题(域名解析OK,而且可以发送数据到公网主机)。 + +##### 2.6.2 ping路由器 + +接下来,ping一下局域网的无线路由器: + +![Untitled](./picture/202404212159249.png) + +作为对比,可以看一下笔记本ping路由器的延迟: + +![Untitled](./picture/202404212159250.png) + +我的笔记本电脑连接的也连接在同一个无线路由器上。 + +模组比笔记本的WiFi延迟高一点点,正题相差不大。 + +#### 2.7 带宽测试 + +##### 2.7.1 netutils软件包 + +RT-Thread的netutils组件中提供了iperf命令,可以用于测试网络带宽。 + +RT-Thread Studio中,双击“RT-Thread Settings”,如下图所示: + +![Untitled](./picture/202404212159251.png) + +可以看到,已经有netutils软件包了,不需要手动添加了。 + +鼠标放到netutils组件上,点击悬浮菜单的“配置项”,如下图所示: + +![Untitled](./picture/202404212159252.png) + +此时RT-Thread Settings窗口将会跳转到netutils软件包配置页面,如下图: + +![Untitled](./picture/202404212159253.png) + +可以看到iperf选项已经打开了。 + +也就是说,默认的vision_board_wifi示例已经有netutils软件包,并且打开了iperf配置项了。 + +如果没有意外,刚刚编译的程序中已经有 iperf命令,不需要重新编译了。 + +串口终端中,输入help,可以看到: +![Untitled](./picture/202404212159254.png) + +##### 2.7.2 iperf命令参数 + +在RT-Thread的msh中运行iperf,默认输出帮助信息: + +![Untitled](./picture/202404212159255.png) + +可以看到iperf的命令参数使用方法。 + +注意: + +1. RT-Thread的iperf命令实现中,对参数的顺序由要求,如果使用过程中发现参数报错,需要查看源码定位原因; +2. RT-Thread的iperf不支持持续时间选项,一般是先启动,后通过stop选项停止的方式控制测试时长; + +##### 2.7.3 PC端的iperf + +PC端的iperf可以到iperf项目官网下载:https://iperf.fr/iperf-download.php + +我使用的mobaxterm,里面自带了iperf命令,所以就不单独下载了: + +![Untitled](./picture/202404212159256.png) + +2.7.4 iperf带宽测试 + +下面进行测试,测试步骤如下: + +1. 在PC上,启动iperf服务端:iperf -s -p 5678 +2. 在开发板上,通过ping命令测试开发板和PC直接IP是否可达 +3. 在开发板上,启动iperf客户端:iperf -c 192.168.3.6 -p 5678 (其中192.168.3.6是PC的IP地址) + - 启动后,可以通过ps命令查看正在运行的线程 +4. 一段时间后,在开发板上,停止iperf客户端:iperf —stop +5. 开发板上iperf停止后,PC端应该可以看到iperf的输出; + +开发板上整个过程的输出如下: + +![Untitled](./picture/202404212159257.png) + +PC端输出: + +![Untitled](./picture/202404212159258.png) + +可以看到带宽是0.06Mbps(上一次测出来的是6.07)。 + +##### 2.7.4 iperf测试小结 + +实际上,影响WiFi带宽测试结果数据的因素很多。我们这里,其中,起决定性的的主要由以下几个方面: + +1. 模组本身支持的最高WiFi传输速率; +2. 模组接口支持的最高工作频率; +3. 主控芯片接口最高支持的工作频率; +4. 热点的WiFi最高传输速率; +5. 各种环境因素,例如开发板和PC直接的距离、环境是否有其他热点干扰等等; + +为了测出比较高的数据,我把开发板直接放到路由器天线边上,以上的结果: + +![visionboard_wifi_ap.jpg](./picture/202404212159259.jpg) + +### 3. 原文链接 + +[RT-Thread-RA8D1 Vision Board上的RW007实践——WiFi延迟和带宽测试RT-Thread问答社区 - RT-Thread](https://club.rt-thread.org/ask/article/e018be1e3b3498e0.html) + +## B. [Vision Board创客营]初步实现wifi模块RW007的功能体验(尹向旭) + +### 1. 开发环境 + +> env + +### 2. 步骤说明 + +#### 2.1 初步介绍 + +看了一下最初申请的时候写的是一个关于RW007de wifi 功能的测试。 +于是就参考了,https://club.rt-thread.org/ask/article/d3a1d5b19289eba5.html 这篇文章中的实现思路跟我的很像 +我也跟作者聊了聊,虽然对方的项目中禁用了rw007的STM32驱动,原因是跟他用的开发板有关。而我实现的比较简单,就是直接用visionboard的RW007。 + +#### 2.2 开始操作 + +第一次尝试,我按照上面帖子的思路进行操作,由于我自己重新在E盘建了目录: +并在D盘执行如下命令: + +``` +D:\tool\rw007\rt-thread\master\bsp\renesas\ra8d1-vision-board +scons --dist --target=mdk --project-name=RW007 --project-path=e:/DIY/ra8d1/RW007 +``` + +最后相关生成的文件定位在—project-path=e:/DIY/ra8d1/RW007 +然后在env下执行了menuconfig,还是没有出现配置菜单 + +![screenshot_5.png](./picture/3c1e31595e5f34c2599c2383430dea59.png) + +还是那个问题,环境变量的问题,于是我打开了mklinks.bat并修改最后两句: + +``` +mklink /D rt-thread ..\rt-thread +mklink /D libraries ..\libraries +``` + +因为之前将相关的文件夹内容copy到项目的顶级目录下面了 + +![screenshot_image.png](./picture/2f273ad7714c7f2ea5d11df662cb72e1.png) + +重新执行menuconfig后终于出来配置界面了 +但是在一番折腾后,编译后并没有成功?可惜这个图没有保存 + +后来收到提示,可以直接vision里面的wifi工程进行配置,这下直接就简化了 +然后就可以了 + +![screenshot_6.png](./picture/dcb607b182825007d8f594a23bdff167.png.webp)执行一下网络相关命令 + +![screenshot_image.png](./picture/98d881a1c5bc3bb8abdb9ab1738fdd90.png.webp) + +最后通过mobaxterm进行服务器登录 + +![screenshot_image.png](./picture/02774e1a62f530d44291bcb0d0db4a4e.png) + +体验了一下`iperf -s -p 5000`的功能 + +总之,挑选比较初级的任务,一则是希望能够在短时间内完成,另外也可以有时间参考一下伙伴们的方案。 + +### 3. 原文链接 + +[RT-Thread-Vision Board创客营\初步实现wifi模块RW007的功能体验RT-Thread问答社区 - RT-Thread](https://club.rt-thread.org/ask/article/8217bba13ff266c7.html) + +## C. [Vision Board创客营]初识openmv并进行条形码和二维码的识别(尹向旭) + +### 1. 开发环境 + +#### 1.1 第一关 + +> windows10 + mobaxterm + +### 2. 步骤说明 + +#### 2.1 第二关 + +![screenshot_2637dea03e6fb16aa872bdb83ed443f.jpg](./picture/b4fb563dffe761dc010f645179c8e779.jpg.webp) + +这次终于可以免驱动,直接识别了 + +![screenshot_f65e00b4dc3787439bedc9ae27e149c.jpg](./picture/5d6ccd49d90ebda7e31560206fd1ebaf.jpg.webp) + +但是后来还是迷糊了,这个com口应该是com5的才可以,原本以为接错线了。所以后来就更新了固件,刷上最近的固件后,在终端只能执行有限的几个命令,这个问题我也不清楚是什么情况? + +![screenshot_83fbbc2fbcab180a84294f042c1fb45.png](./picture/426958b620854daa2476a38d05e585c7.png) + +#### 2.2 第三关 + +就是跟着b站的视频一步一步的操作,并且将baidu网盘中的相关工具都进行安装,因为mdk开发和rtthread studio开发都可以,所以我就没有进行替换安装,就沿用之前的方式用了mdk5 + +![screenshot_78fd1ce606541d785aa07f7307ecf71.jpg](./picture/c097e4b2574ed248e7f255e45b67f1cd.jpg.webp) + +在安装fsp的时候,确实也卡了一下,原本以为是什么技术问题,但是后来发现就是系统的处理速度有点慢? + +![screenshot_67beba8c7c919fb057bd1d5dfb83070.jpg](./picture/6af39909282d4fd7ed93413980a5c26f.jpg.webp) + +#### 2.3 第四关 + +在跟着视频进行操作的时候,有些步骤背后的意义不是很清楚,或者说体会不是很深刻 + +![screenshot_d77ba86017e35b597ce214c26d257fa.png](./picture/2680bf9796bc04f0b139a3f8265db9ae.png) + +比如这个报错,我在群聊问了导师,才发现原来是有些操作不明原因导致的。 + +Helloworld: +这些环境变量是要安装 rt thread studio?才可以吗? + +Helloworld: +openmv怎么会缺少相关环境变量,怎么配置这些环境变量呢?要安装什么文件呢? + +rbb君的回复: +![screenshot_e8a85a6f5165463b61301b82ae5f838.png](./picture/d6124793a15075a72507807e87276a38.png.webp) + +体会,在学习和体会的过程中,背后有一个强大的支撑是多么幸运的事情啊。 + +终篇:终于可以体会一下openmv相关的功能了 +这里的资源也是很丰富的,可以直接拎包入住。 + +- https://book.openmv.cc/example/16-Codes/qrcodes-with-lens-corr.html +- https://singtown.com/learn/50017/ +- https://video.singtown.com/%E6%98%9F%E7%9E%B3%E7%A7%91%E6%8A%80OpenMV%E8%A7%86%E9%A2%91%E6%95%99%E7%A8%8B15-%E6%89%AB%E7%A0%81%E8%AF%86%E5%88%AB.mp4 +- https://book.openmv.cc/image/code.html + +跟着这些资料一路做下来,并没有什么大问题?但是我有一个困惑:就是我用cam去识别RA8-M85-vision-board包装盒上面的二维码的时候,并没有给出识别结果,但是如果我直接用cam去识别电脑屏幕上面的二维码或条形码的时候,真的是很丝滑?然,我不是很清楚,这个跟什么有关,怎么修改代码才能够让cam也可以丝滑的识别我的快递单号,或者购物小票上面的条形码等? +是否需要调整VGA功能吗: + +``` +sensor.set_framesize(sensor.VGA) # High Res! +sensor.set_windowing((640, 80)) # V Res of 80 == less work (40 for 2X the speed). +``` + +就这2句吗? + +![screenshot_5.png](./picture/178f9f4307806a68458528a4350fe33c.png.webp) + +上一个识别后的图。 +总之,我似乎忘记了我最初申请时,要完成的任务了?让我再看看 + +### 3. 原文链接 + +[RT-Thread-Vision Board创客营\初识openmv并进行条形码和二维码的识别RT-Thread问答社区 - RT-Thread](https://club.rt-thread.org/ask/article/7a1782b745f17fae.html) + +# 十六、LCD(mipi)+LVGL(适配V8.x版本) + +## 1. 开发环境 + +### 1.1 拉取SDK + +先将 Vision Board 的官方 SDK 仓库克隆下来。用 tree 命令可以看到有许多的示例工程。 + +![Pasted image 20240416232314.png](./picture/39c5fad85264d1a653443382fdbf4581.png.webp) + +然后进入到 mipi 屏的 lvgl 例程文件夹里 + +``` +cd projects/lvgl/vision_board_mipi_2.0inch_lvgl +``` + +### 1.2 配置环境 + +安装 gcc-arm-none-eabi 编译工具链 + +> 官网下载链接: https://developer.arm.com/-/media/Files/downloads/gnu-rm/10.3-2021.10/gcc-arm-none-eabi-10.3-2021.10-x86_64-linux.tar.bz2 + +然后解压到 /opt 中 + +``` +tar xvf gcc-arm-none-eabi*.tar.bz2 -C /opt +``` + +环境变量可以设置,也可以不设置,后面还有初始化脚本来设置 + +安装 python3、python3-pip、pyocd、scons + +``` +sudo apt install python3 python3-pip +sudo python3 -m pip install pyocd scons +``` + +pyocd搜索一下8D1可以搜到(可能需要更新pyocd索引,网络原因大概率会非常慢,搜不到也没关系,也可以手动导入pack) + +``` +pyocd pack find 8D1 +``` + +![Pasted image 20240417105025.png](./picture/ef4ca8dcd2c9d1fbb71ff1d80a5d8e78.png.webp) + +网络比较好的话就直接安装这个pack包就可以 + +``` +pyocd pack -i R7FA8 +``` + +> 官网 pack 地址 https://www2.renesas.eu/Keil_MDK_Packs/Renesas.RA_DFP.5.2.0.pack + +手动导入 pack 包方法:将从官网下载下来的 Renesas.RA_DFP.5.2.0.pack 包放在当前目录,在当前目录下新建文件 pyocd.yaml 填入如下内容 + +``` +pack: + - ./Renesas.RA_DFP.5.2.0.pack +``` + +然后执行下面这个命令,可以搜到 8D1就完成了,后续可以用pyocd来调试、烧录 + +![Pasted image 20240417102823.png](./picture/8970f1cf8ae7907293cfae1c73e13d2b.png.webp) + +### 1.3 配置ENV工具 + +env 工具是 RT-Thread官方提供的一个工具,这里直接用脚本安装 + +``` +wget https://gitee.com/RT-Thread-Mirror/env/raw/master/touch_env.sh +chmod +x touch_env.sh +./touch_env.sh +``` + +初始化 env的命令是 source ~/.env/env.sh + +### 1.4 配置环境变量脚本 + +这一步的来源可以打开 rtconfig.py 进行查看得知 + +- CROSS_TOOL 交叉编译工具类型,可以用 RTT_CC 来设置,这里用的是 arm 的 gcc,所以直接指定 RTT_CC 为 gcc +- EXEC_PATH 交叉编译工具链路径,可以通过 RTT_EXEC_PATH 来设置,所以是刚才 +- gcc-arm-none-eabi 的目录 /opt/gcc-arm-none-eabi-10.3-2021.10/bin + +![Pasted image 20240417112951.png](./picture/4560eba42e1df1dad902f478b339664c.png.webp) + +- 还有一个 RT_ROOT 是指定 rt-thread 的源码目录,这里不做设置,打开 SConstruct 文件(这文件默认没有高亮,:set filetype=python 可以打开高亮)可以看到 RT_ROOT 是会自动搜索的,所以就不用管了 + +![Pasted image 20240417113647.png](./picture/8f83da00e67b123eac7a3e0bf1827844.png.webp) + +## 2. 步骤说明 + +### 2.1 测试 + +综上写个环境初始化脚本,保存在~目录或者其他位置,这里保存在了~/myscripts/env_rtt.sh + +> 把 env 的初始化放在上面是因为 env 会修改 RTT_EXEC_PATH 变量到 /usr/bin +> + +同时,写了几个脚本来实现一键软连接 SDK 根目录的库代码并编译、烧录、配置 + +``` +source ~/.env/env.sh +export RTT_CC=gcc +export RTT_EXEC_PATH=/opt/gcc-arm-none-eabi-10.3-2021.10/bin +alias build='chmod +x ./mklinks.sh && ./mklinks.sh>/dev/null 2>&1 || scons -j16' +alias flash='sudo pyocd flash --target=R7FA8D1BH --erase=sector --frequency=10000000 rtthread.elf' +alias config='scons --menuconfig' +alias clean='scons --clean' +export build +export flash +export config +export clean +``` + +然后 source ~/myscripts/env_rtt.sh 初始化环境,build 一键编译 + +![Pasted image 20240417162648.png](./picture/ca01f936fc4cdc75820c953022613832.png.webp) + +flash 一键烧录 + +![Pasted image 20240417234233.png](./picture/dce96a7e3e247bca8035275cd224febf.png.webp) + +运行现象 + +![test.jpg](./picture/09b6bc8480a6110879da2e74398fd68d.jpg.webp) + +成功运行 SDK 中 LVGL V9 的示例工程 + +这搭建虽然步骤多了些,但是成功的把编译整个工程,包括lvgl那一堆代码,缩短到了 4s,效率第一 + +### 2.2 LVGL V8 适配 + +#### 2.2.1 配置到 V8 版本 + +在 lvgl 目录下复制一份重命名为 vision_board_mipi_2.0inch_lvglv8 + +![Pasted image 20240418001632.png](./picture/07963f5a5e0ec5c77b507a8a7543fdb1.png.webp) + +config 或者 scons —menuconfig 打开配置 RT-Thread online packages > multimedia packages > LVGL: powerful and easy-to-use embedded GUI library > LVGL (official): Light and Versatile Graphics Library ,切换到 V8.3.5 版本 +![Pasted image 20240418002120.png](./picture/1f3c10b29e26351dad426d9cded83060.png.webp) + +然后 执行 pkgs —update 更新 + +### 2.3 porting适配 + +适配 LVGL 的文件都存放在 board/lvgl 目录中,切换 V9 到 V8 版本需要修改 lv_conf.h、lv_port_disp.c、lv_port_indev.c 文件和鼠标光标的图像文件 mouse_cursor_icon.c,这里用的光标的图像文件为,可以在这个网站中在线将 png 图片转换成 LVGL 的图片代码 https://lvgl.io/tools/imageconverter + +![icon.png](./picture/2708105d39659fd5442b1f80e371ed15.png) + +适配的代码篇幅太长,都放在了文末,这里介绍下适配的思路 + +#### 2.3.1 显示porting + +显示的 porting 基本都存放在 lv_port_disp.c 中,在 V9 版本中的适配代码如下 + +``` +static void disp_flush(lv_display_t *display, const lv_area_t *area, uint8_t *px_map) +{ + if (!lv_display_flush_is_last(display)) return; +#if defined(RENESAS_CORTEX_M85) +#if (BSP_CFG_DCACHE_ENABLED) + int32_t size; + /* Invalidate cache - so the HW can access any data written by the CPU */ + size = sizeof(fb_background[0]); + SCB_CleanInvalidateDCache_by_Addr(px_map, size); +#endif +#endif + R_GLCDC_BufferChange(&g_display0_ctrl, + (uint8_t *) px_map, + (display_frame_layer_t) 0); +} +``` + +在 LVGL 官网的文档中 + +![Pasted image 20240418110956.png](./picture/b548b3f64ac63a4798761182b7864de7.png.webp) + +设备注册代码 + +``` + lv_display_t *disp = lv_display_create(LV_HOR_RES_MAX, LV_VER_RES_MAX); + lv_display_set_flush_cb(disp, disp_flush); + lv_display_set_flush_wait_cb(disp, vsync_wait_cb); + lv_display_set_buffers(disp, &fb_background[0][0], &fb_background[1][0], sizeof(fb_background[0]), LV_DISPLAY_RENDER_MODE_DIRECT); +``` + +LVGL V8 的移植也是这两个函数,只是改了改一些 API 而已,换一下名字就可以,具体代码见文末 + +#### 2.3.2 输入设备 porting + +### 2.4 benchmark 测试 + +测电脑用鲁大师,测 LVGL 当然就是 benchmark 的 demo 了,在 board/lvgl 文件夹中的 Kconfig 搜索 config BSP_USING_LVGL_BENCHMARK_DEMO,把下面的 select BSP_USING_LVGL_WIDGETS_DEMO 给注释掉 + +``` +config BSP_USING_LVGL_BENCHMARK_DEMO + #select BSP_USING_LVGL_WIDGETS_DEMO + bool "Enable LVGL benchmark demo" + default n +``` + +把 demo/benchmark 文件夹直接删除。然后把官方的 V8.3.5 版本的 benchmark 文件夹的代码拷贝过来,此时这个文件夹里面的代码是不会参与编译的,需要编写一个 SConscript 文件,代码如下 + + +``` +import rtconfig +from building import * +src = Glob('*.c') +src += Glob('assets/*.c') +group = DefineGroup('LVGL-demo', src, depend = ['BSP_USING_LVGL_BENCHMARK_DEMO']) +Return('group') +``` + +这时 benchmark 的 demo 就参与到编译中了,还需要在配置中去使能它,在 > Hardware Drivers Config > On-chip Peripheral Drivers > Enable LVGL demo for LCD 下面 + +![Pasted image 20240418011320.png](./picture/6dc63b89c2a443afa1dcf94b190c77a1.png.webp) + +然后编译、烧录到开发板 + +![bench2.jpg](./picture/83bd92b848b066bfffe7420e2521d2e5.jpg.webp) + +![bench.jpg](./picture/c6b5cc1f77f2ad1bcb3f91ee027f2022.jpg.webp) + +LVGL V8 成功运行,但是 benchmark 的表现比 V9 要差一些,具体原因还不清楚,猜测可能是 V9 对于有 2D 图像单元的 MCU 适配更好 + +### 2.5 适配代码 + +#### 2.5.1 lv_conf.h + +``` +#ifndef LV_CONF_H +#define LV_CONF_H +#include +#define LV_USE_SYSMON 1 +#define LV_USE_PERF_MONITOR 1 +#define LV_COLOR_DEPTH 16 +#define LV_HOR_RES_MAX 480 +#define LV_VER_RES_MAX 360 +#define LV_COLOR_16_SWAP 0 +#ifdef BSP_USING_LVGL_DAVE2D + #define LV_USE_DRAW_DAVE2D 1 +#endif +/*turn-on helium acceleration when Arm-2D and the Helium-powered device are detected */ +#ifdef BSP_USING_LVGL_ARM2D + #if defined(__ARM_FEATURE_MVE) && __ARM_FEATURE_MVE + #define LV_USE_DRAW_SW_ASM LV_DRAW_SW_ASM_HELIUM + #define LV_USE_DRAW_ARM2D 1 + #define LV_USE_DRAW_ARM2D_SYNC 1 + #endif +#endif +#ifdef BSP_USING_LVGL_WIDGETS_DEMO + #define LV_USE_DEMO_WIDGETS 1 + #define LV_DEMO_WIDGETS_SLIDESHOW 0 +#endif /* BSP_USING_LVGL_WIDGETS_DEMO */ +/*Benchmark your system*/ +#ifdef BSP_USING_LVGL_BENCHMARK_DEMO + #define LV_USE_DEMO_BENCHMARK 1 + /*Use RGB565A8 images with 16 bit color depth instead of ARGB8565*/ + #define LV_DEMO_BENCHMARK_RGB565A8 1 + #define LV_FONT_MONTSERRAT_14 1 + #define LV_FONT_MONTSERRAT_24 1 +#endif /* BSP_USING_LVGL_BENCHMARK_DEMO */ +/*Stress test for LVGL*/ +#ifdef BSP_USING_LVGL_STRESS_DEMO + #define LV_USE_DEMO_STRESS 1 +#endif /* BSP_USING_LVGL_STRESS_DEMO */ +/*Render test for LVGL*/ +#ifdef BSP_USING_LVGL_RENDER_DEMO + #define LV_USE_DEMO_RENDER 1 +#endif /* BSP_USING_LVGL_RENDER_DEMO */ +/*Music player demo*/ +#ifdef BSP_USING_LVGL_MUSIC_DEMO + #define LV_USE_DEMO_MUSIC 1 + #define LV_DEMO_MUSIC_SQUARE 1 + #define LV_DEMO_MUSIC_LANDSCAPE 0 + #define LV_DEMO_MUSIC_ROUND 0 + #define LV_DEMO_MUSIC_LARGE 0 + #define LV_DEMO_MUSIC_AUTO_PLAY 0 + #define LV_FONT_MONTSERRAT_12 1 + #define LV_FONT_MONTSERRAT_16 1 +#endif /* BSP_USING_LVGL_MUSIC_DEMO */ +#ifdef _LV_LOG_LEVEL_TRACE + /*Enable/disable LV_LOG_TRACE in modules that produces a huge number of logs*/ + #define LV_LOG_TRACE_MEM 1 + #define LV_LOG_TRACE_TIMER 1 + #define LV_LOG_TRACE_INDEV 1 + #define LV_LOG_TRACE_DISP_REFR 1 + #define LV_LOG_TRACE_EVENT 1 + #define LV_LOG_TRACE_OBJ_CREATE 1 + #define LV_LOG_TRACE_LAYOUT 1 + #define LV_LOG_TRACE_ANIM 1 +#else + #define LV_USE_LOG 0 + #define LV_LOG_PRINTF 0 +#endif +//#define LV_ASSERT_HANDLER_INCLUDE +//#define LV_ASSERT_HANDLER while(1); /*Halt by default*/ +#ifdef _LV_USE_ASSERT_NULL +#define LV_USE_ASSERT_NULL 1 +#endif +#ifdef _LV_USE_ASSERT_MALLOC +#define LV_USE_ASSERT_MALLOC 1 +#endif +#ifdef _LV_USE_ASSERT_STYLE +#define LV_USE_ASSERT_STYLE 1 +#endif +#ifdef _LV_USE_ASSERT_MEM_INTEGRITY +#define LV_USE_ASSERT_MEM_INTEGRITY 1 +#endif +#ifdef _LV_USE_ASSERT_OBJ +#define LV_USE_ASSERT_OBJ 1 +#endif +//"Widget usage" +#ifndef _LV_USE_ARC +#define LV_USE_ARC 1 +#endif +#ifndef _LV_USE_BAR +#define LV_USE_BAR 1 +#endif +#ifndef _LV_USE_BTN +#define LV_USE_BTN 1 +#endif +#ifndef _LV_USE_BTNMATRIX +#define LV_USE_BTNMATRIX 1 +#endif +#ifndef _LV_USE_CANVAS +#define LV_USE_CANVAS 1 +#endif +#ifndef _LV_USE_CHECKBOX +#define LV_USE_CHECKBOX 1 +#endif +#ifndef _LV_USE_DROPDOWN +#define LV_USE_DROPDOWN 1 +#endif +#ifndef _LV_USE_IMG +#define LV_USE_IMG 1 +#endif +#ifndef _LV_USE_LABEL +#define LV_USE_LABEL 1 +#endif +#ifndef _LV_LABEL_TEXT_SELECTION +#define LV_LABEL_TEXT_SELECTION 1 +#endif +#ifndef _LV_LABEL_LONG_TXT_HINT +#define LV_LABEL_LONG_TXT_HINT 1 +#endif +#ifndef _LV_USE_LINE +#define LV_USE_LINE 1 +#endif +#ifndef _LV_USE_ROLLER +#define LV_USE_ROLLER 1 +#endif +#ifdef _LV_ROLLER_INF_PAGES +#define LV_ROLLER_INF_PAGES _LV_ROLLER_INF_PAGES +#endif +#ifndef _LV_USE_SLIDER +#define LV_USE_SLIDER 1 +#endif +#ifndef _LV_USE_SWITCH +#define LV_USE_SWITCH 1 +#endif +#ifndef _LV_USE_TEXTAREA +#define LV_USE_TEXTAREA 1 +#endif +#ifdef _LV_TEXTAREA_DEF_PWD_SHOW_TIME +#define LV_TEXTAREA_DEF_PWD_SHOW_TIME _LV_TEXTAREA_DEF_PWD_SHOW_TIME +#endif +#ifndef _LV_USE_TABLE +#define LV_USE_TABLE 1 +#endif +//"Extra Widgets" +#ifndef _LV_USE_ANIMIMG +#define LV_USE_ANIMIMG 1 +#endif +#ifndef _LV_USE_CALENDAR +#define LV_USE_CALENDAR 1 +#endif +#ifndef _LV_CALENDAR_WEEK_STARTS_MONDA +#define LV_CALENDAR_WEEK_STARTS_MONDA 1 +#endif +#ifndef _LV_USE_CALENDAR_HEADER_ARROW +#define LV_USE_CALENDAR_HEADER_ARROW 1 +#endif +#ifndef _LV_USE_CALENDAR_HEADER_DROPDO +#define LV_USE_CALENDAR_HEADER_DROPDO 1 +#endif +#ifndef _LV_USE_CHART +#define LV_USE_CHART 1 +#endif +#ifndef _LV_USE_COLORWHEEL +#define LV_USE_COLORWHEEL 1 +#endif +#ifndef _LV_USE_IMGBTN +#define LV_USE_IMGBTN 1 +#endif +#ifndef _LV_USE_KEYBOARD +#define LV_USE_KEYBOARD 1 +#endif +#ifndef _LV_USE_LED +#define LV_USE_LED 1 +#endif +#ifndef _LV_USE_LIST +#define LV_USE_LIST 1 +#endif +#ifndef _LV_USE_MENU +#define LV_USE_MENU 1 +#endif +#ifndef _LV_USE_METER +#define LV_USE_METER 1 +#endif +#ifndef _LV_USE_MSGBOX +#define LV_USE_MSGBOX 1 +#endif +#ifndef _LV_USE_SPINBOX +#define LV_USE_SPINBOX 1 +#endif +#ifndef _LV_USE_SPINNER +#define LV_USE_SPINNER 1 +#endif +#ifndef _LV_USE_TABVIEW +#define LV_USE_TABVIEW 1 +#endif +#ifndef _LV_USE_TILEVIEW +#define LV_USE_TILEVIEW 1 +#endif +#ifndef _LV_USE_WIN +#define LV_USE_WIN 1 +#endif +#ifndef _LV_USE_SPAN +#define LV_USE_SPAN 1 +#endif +#ifdef _LV_SPAN_SNIPPET_STACK_SIZE +#define LV_SPAN_SNIPPET_STACK_SIZE _LV_SPAN_SNIPPET_STACK_SIZE +#endif +//"Layouts" +#ifndef _LV_USE_FLEX +#define LV_USE_FLEX 1 +#endif +#ifndef _LV_USE_GRID +#define LV_USE_GRID 1 +#endif +#ifndef _LV_USE_THEME_DEFAULT +#define LV_USE_THEME_DEFAULT 1 +#endif +#ifndef _LV_THEME_DEFAULT_DARK +#define LV_THEME_DEFAULT_DARK 1 +#endif +#ifndef _LV_THEME_DEFAULT_GROW +#define LV_THEME_DEFAULT_GROW 1 +#endif +#ifdef _LV_THEME_DEFAULT_TRANSITION_TIME +#define LV_THEME_DEFAULT_TRANSITION_TIME _LV_THEME_DEFAULT_TRANSITION_TIME +#endif +#ifndef _LV_USE_THEME_BASIC +#define LV_USE_THEME_BASIC 1 +#endif +//"Enable built-in fonts" +#define LV_FONT_MONTSERRAT_8 1 +#define LV_FONT_MONTSERRAT_10 1 +#define LV_FONT_MONTSERRAT_10 1 +#define LV_FONT_MONTSERRAT_14 1 +#define LV_FONT_MONTSERRAT_16 1 +#define LV_FONT_MONTSERRAT_18 1 +#define LV_FONT_MONTSERRAT_20 1 +#define LV_FONT_MONTSERRAT_22 1 +#define LV_FONT_MONTSERRAT_24 1 +#define LV_FONT_MONTSERRAT_26 1 +#define LV_FONT_MONTSERRAT_28 1 +#define LV_FONT_MONTSERRAT_30 1 +#define LV_FONT_MONTSERRAT_32 1 +#define LV_FONT_MONTSERRAT_34 1 +#define LV_FONT_MONTSERRAT_36 1 +#define LV_FONT_MONTSERRAT_38 0 +#define LV_FONT_MONTSERRAT_40 0 +#define LV_FONT_MONTSERRAT_42 0 +#define LV_FONT_MONTSERRAT_44 0 +#define LV_FONT_MONTSERRAT_48 0 +#define LV_FONT_MONTSERRAT_12_SUBPX 0 +#define LV_FONT_MONTSERRAT_28_COMPRESSED 0 +#define LV_FONT_DEJAVU_16_PERSIAN_HEBREW 0 +#define LV_FONT_SIMSUN_16_CJK 0 +#define LV_FONT_UNSCII_8 0 +#define LV_FONT_UNSCII_16 0 +#ifdef _LV_FONT_MONTSERRAT_8 +#undef LV_FONT_MONTSERRAT_8 +#define LV_FONT_MONTSERRAT_8 1 +#endif +#ifdef _LV_FONT_MONTSERRAT_10 +#undef LV_FONT_MONTSERRAT_10 +#define LV_FONT_MONTSERRAT_10 1 +#endif +#ifdef _LV_FONT_MONTSERRAT_12 +#undef LV_FONT_MONTSERRAT_12 +#define LV_FONT_MONTSERRAT_12 1 +#endif +#ifdef _LV_FONT_MONTSERRAT_14 +#undef LV_FONT_MONTSERRAT_14 +#define LV_FONT_MONTSERRAT_14 1 +#endif +#ifdef _LV_FONT_MONTSERRAT_16 +#undef LV_FONT_MONTSERRAT_16 +#define LV_FONT_MONTSERRAT_16 1 +#endif +#ifdef _LV_FONT_MONTSERRAT_18 +#undef LV_FONT_MONTSERRAT_18 +#define LV_FONT_MONTSERRAT_18 1 +#endif +#ifdef _LV_FONT_MONTSERRAT_20 +#undef LV_FONT_MONTSERRAT_20 +#define LV_FONT_MONTSERRAT_20 1 +#endif +#ifdef _LV_FONT_MONTSERRAT_22 +#undef LV_FONT_MONTSERRAT_22 +#define LV_FONT_MONTSERRAT_22 1 +#endif +#ifdef _LV_FONT_MONTSERRAT_24 +#undef LV_FONT_MONTSERRAT_24 +#define LV_FONT_MONTSERRAT_24 1 +#endif +#ifdef _LV_FONT_MONTSERRAT_26 +#undef LV_FONT_MONTSERRAT_26 +#define LV_FONT_MONTSERRAT_26 1 +#endif +#ifdef _LV_FONT_MONTSERRAT_28 +#undef LV_FONT_MONTSERRAT_28 +#define LV_FONT_MONTSERRAT_28 1 +#endif +#ifdef _LV_FONT_MONTSERRAT_30 +#undef LV_FONT_MONTSERRAT_30 +#define LV_FONT_MONTSERRAT_30 1 +#endif +#ifdef _LV_FONT_MONTSERRAT_32 +#undef LV_FONT_MONTSERRAT_32 +#define LV_FONT_MONTSERRAT_32 1 +#endif +#ifdef _LV_FONT_MONTSERRAT_34 +#undef LV_FONT_MONTSERRAT_34 +#define LV_FONT_MONTSERRAT_34 1 +#endif +#ifdef _LV_FONT_MONTSERRAT_36 +#undef LV_FONT_MONTSERRAT_36 +#define LV_FONT_MONTSERRAT_36 1 +#endif +#ifdef _LV_FONT_MONTSERRAT_38 +#undef LV_FONT_MONTSERRAT_38 +#define LV_FONT_MONTSERRAT_38 1 +#endif +#ifdef _LV_FONT_MONTSERRAT_40 +#undef LV_FONT_MONTSERRAT_40 +#define LV_FONT_MONTSERRAT_40 1 +#endif +#ifdef _LV_FONT_MONTSERRAT_42 +#undef LV_FONT_MONTSERRAT_42 +#define LV_FONT_MONTSERRAT_42 1 +#endif +#ifdef _LV_FONT_MONTSERRAT_44 +#undef LV_FONT_MONTSERRAT_44 +#define LV_FONT_MONTSERRAT_44 1 +#endif +#ifdef _LV_FONT_MONTSERRAT_46 +#undef LV_FONT_MONTSERRAT_46 +#define LV_FONT_MONTSERRAT_46 1 +#endif +#ifdef _LV_FONT_MONTSERRAT_48 +#undef LV_FONT_MONTSERRAT_48 +#define LV_FONT_MONTSERRAT_48 1 +#endif +#ifdef _LV_FONT_MONTSERRAT_12_SUBPX +#undef LV_FONT_MONTSERRAT_12_SUBPX +#define LV_FONT_MONTSERRAT_12_SUBPX 1 +#endif +#ifdef _LV_FONT_MONTSERRAT_28_COMPRESSED +#undef LV_FONT_MONTSERRAT_28_COMPRESSED +#define LV_FONT_MONTSERRAT_28_COMPRESSED 1 +#endif +#ifdef _LV_FONT_DEJAVU_16_PERSIAN_HEBREW +#undef LV_FONT_DEJAVU_16_PERSIAN_HEBREW +#define LV_FONT_DEJAVU_16_PERSIAN_HEBREW 1 +#endif +#ifdef _LV_FONT_SIMSUN_16_CJK +#undef LV_FONT_SIMSUN_16_CJK +#define LV_FONT_SIMSUN_16_CJK 1 +#endif +#ifdef _LV_FONT_UNSCII_8 +#undef LV_FONT_UNSCII_8 +#define LV_FONT_UNSCII_8 1 +#endif +#ifdef _LV_FONT_UNSCII_16 +#undef LV_FONT_UNSCII_16 +#define LV_FONT_UNSCII_16 1 +#endif +#ifdef _LV_FONT_CUSTOM +#define LV_FONT_CUSTOM 1 +#endif +#ifdef _LV_FONT_CUSTOM_DECLARE +#define LV_FONT_CUSTOM_DECLARE _LV_FONT_CUSTOM_DECLARE +#endif +/*------------------ + * DEFAULT FONT + *-----------------*/ +#ifdef _LV_FONT_DEFAULT_MONTSERRAT_8 +# define LV_FONT_DEFAULT &lv_font_montserrat_8 +#elif defined(_LV_FONT_DEFAULT_MONTSERRAT_10) +# define LV_FONT_DEFAULT &lv_font_montserrat_10 +#elif defined(_LV_FONT_DEFAULT_MONTSERRAT_12) +# define LV_FONT_DEFAULT &lv_font_montserrat_12 +#elif defined(_LV_FONT_DEFAULT_MONTSERRAT_14) +# define LV_FONT_DEFAULT &lv_font_montserrat_14 +#elif defined(_LV_FONT_DEFAULT_MONTSERRAT_16) +# define LV_FONT_DEFAULT &lv_font_montserrat_16 +#elif defined(_LV_FONT_DEFAULT_MONTSERRAT_18) +# define LV_FONT_DEFAULT &lv_font_montserrat_18 +#elif defined(_LV_FONT_DEFAULT_MONTSERRAT_20) +# define LV_FONT_DEFAULT &lv_font_montserrat_20 +#elif defined(_LV_FONT_DEFAULT_MONTSERRAT_22) +# define LV_FONT_DEFAULT &lv_font_montserrat_22 +#elif defined(_LV_FONT_DEFAULT_MONTSERRAT_24) +# define LV_FONT_DEFAULT &lv_font_montserrat_24 +#elif defined(_LV_FONT_DEFAULT_MONTSERRAT_26) +# define LV_FONT_DEFAULT &lv_font_montserrat_26 +#elif defined(_LV_FONT_DEFAULT_MONTSERRAT_28) +# define LV_FONT_DEFAULT &lv_font_montserrat_28 +#elif defined(_LV_FONT_DEFAULT_MONTSERRAT_30) +# define LV_FONT_DEFAULT &lv_font_montserrat_30 +#elif defined(_LV_FONT_DEFAULT_MONTSERRAT_32) +# define LV_FONT_DEFAULT &lv_font_montserrat_32 +#elif defined(_LV_FONT_DEFAULT_MONTSERRAT_34) +# define LV_FONT_DEFAULT &lv_font_montserrat_34 +#elif defined(_LV_FONT_DEFAULT_MONTSERRAT_36) +# define LV_FONT_DEFAULT &lv_font_montserrat_36 +#elif defined(_LV_FONT_DEFAULT_MONTSERRAT_38) +# define LV_FONT_DEFAULT &lv_font_montserrat_38 +#elif defined(_LV_FONT_DEFAULT_MONTSERRAT_40) +# define LV_FONT_DEFAULT &lv_font_montserrat_40 +#elif defined(_LV_FONT_DEFAULT_MONTSERRAT_42) +# define LV_FONT_DEFAULT &lv_font_montserrat_42 +#elif defined(_LV_FONT_DEFAULT_MONTSERRAT_44) +# define LV_FONT_DEFAULT &lv_font_montserrat_44 +#elif defined(_LV_FONT_DEFAULT_MONTSERRAT_46) +# define LV_FONT_DEFAULT &lv_font_montserrat_46 +#elif defined(_LV_FONT_DEFAULT_MONTSERRAT_48) +# define LV_FONT_DEFAULT &lv_font_montserrat_48 +#elif defined(_LV_FONT_DEFAULT_MONTSERRAT_12_SUBPX) +# define LV_FONT_DEFAULT &lv_font_montserrat_12_subpx +#elif defined(_LV_FONT_DEFAULT_MONTSERRAT_28_COMPRESSED) +# define LV_FONT_DEFAULT &lv_font_montserrat_28_compressed +#elif defined(_LV_FONT_DEFAULT_DEJAVU_16_PERSIAN_HEBREW) +# define LV_FONT_DEFAULT &lv_font_dejavu_16_persian_hebrew +#elif defined(_LV_FONT_DEFAULT_SIMSUN_16_CJK) +# define LV_FONT_DEFAULT &lv_font_simsun_16_cjk +#elif defined(_LV_FONT_DEFAULT_UNSCII_8) +# define LV_FONT_DEFAULT &lv_font_unscii_8 +#elif defined(_LV_FONT_DEFAULT_UNSCII_16) +# define LV_FONT_DEFAULT &lv_font_unscii_16 +#endif +#ifdef _LV_TXT_ENC_UTF8 +# define LV_TXT_ENC LV_TXT_ENC_UTF8 +#elif defined(_LV_TXT_ENC_ASCII) +# define LV_TXT_ENC LV_TXT_ENC_ASCII +#endif +#endif +``` + +#### 2.5.2 lv_port_disp.c + +``` +#include +#include +#include "ra8/lcd_config.h" +#include "hal_data.h" +static rt_sem_t _SemaphoreVsync = RT_NULL; +static uint8_t lvgl_init_flag = 0; +void DisplayVsyncCallback(display_callback_args_t *p_args) +{ + rt_interrupt_enter(); + if (DISPLAY_EVENT_LINE_DETECTION == p_args->event) + { + if (lvgl_init_flag != 0) + rt_sem_release(_SemaphoreVsync); + } + rt_interrupt_leave(); +} +static void disp_flush(lv_disp_drv_t * disp_drv, const lv_area_t * area, lv_color_t * color_p) +{ +#if defined(RENESAS_CORTEX_M85) +#if (BSP_CFG_DCACHE_ENABLED) + int32_t size; + /* Invalidate cache - so the HW can access any data written by the CPU */ + size = sizeof(fb_background[0]); + SCB_CleanInvalidateDCache_by_Addr(px_map, size); +#endif +#endif + uint32_t ii = 0; + for (uint32_t j = area->y1; j < area->y2+1; j++) { + uint32_t begin = j * 480 * 2; + for (uint32_t i = area->x1; i < area->x2+1; i++) { + *(uint16_t *)&(fb_background[0][(i << 1)+ begin]) = color_p[ii++].full; + } + } + lv_disp_flush_ready(disp_drv); + rt_sem_take(_SemaphoreVsync, RT_WAITING_FOREVER); +} +void lv_port_disp_init(void) +{ + static rt_device_t device; + /* LCD Device Init */ + device = rt_device_find("lcd"); + RT_ASSERT(device != RT_NULL); + _SemaphoreVsync = rt_sem_create("lvgl_sem", 1, RT_IPC_FLAG_PRIO); + if (RT_NULL == _SemaphoreVsync) + { + rt_kprintf("lvgl semaphore create failed\r\n"); + RT_ASSERT(0); + } + static lv_disp_draw_buf_t draw_buf_dsc_3; + static lv_color_t buf_3_1[LV_HOR_RES_MAX * LV_VER_RES_MAX]; + lv_disp_draw_buf_init(&draw_buf_dsc_3, buf_3_1, NULL, + LV_HOR_RES_MAX * LV_VER_RES_MAX); + static lv_disp_drv_t disp_drv; + lv_disp_drv_init(&disp_drv); + disp_drv.hor_res = LV_HOR_RES_MAX; + disp_drv.ver_res = LV_VER_RES_MAX; + disp_drv.flush_cb = disp_flush; + disp_drv.draw_buf = &draw_buf_dsc_3; + lv_disp_drv_register(&disp_drv); + lvgl_init_flag = 1; +} +``` + +#### 2.5.3 lv_port_indev.c + +``` +#include +#include +#include "cst812t.h" +#define DBG_TAG "lv_port_indev" +#define DBG_LVL DBG_LOG +#include +#include "hal_data.h" +static rt_device_t touch_dev = RT_NULL; +static struct rt_touch_data read_data; +lv_indev_t *indev_touchpad; +static rt_err_t touch_probe() +{ + touch_dev = rt_device_find("cst8xx"); + if (touch_dev == RT_NULL) + { + LOG_E("can't find device cst8xx"); + return -RT_ERROR; + } + if (rt_device_open(touch_dev, RT_DEVICE_FLAG_INT_RX) != RT_EOK) + { + LOG_E("open device failed!"); + return -RT_ERROR; + } + return RT_EOK; +} +static void touchpad_read(lv_indev_drv_t *indev_drv, lv_indev_data_t *data) +{ + if (rt_device_read(touch_dev, 0, &read_data, 1) == 1) + { + data->point.x = read_data.x_coordinate; + data->point.y = read_data.y_coordinate; + switch (read_data.event) + { + case TOUCH_EVENT_UP: + data->state = LV_INDEV_STATE_REL; + break; + case TOUCH_EVENT_DOWN: + data->state = LV_INDEV_STATE_PR; + break; + case TOUCH_EVENT_MOVE: + data->state = LV_INDEV_STATE_PR; + break; + default: + break; + } + } +} +#define RST_PIN "p000" +#define INT_PIN "p010" +#define TOUCH_DEVICE_NAME "sci3i" +int rt_hw_cst812t_register(void) +{ + struct rt_touch_config cfg; + rt_base_t int_pin = rt_pin_get(INT_PIN); + rt_base_t rst_pin = rt_pin_get(RST_PIN); + cfg.dev_name = TOUCH_DEVICE_NAME; + cfg.irq_pin.pin = int_pin; + cfg.irq_pin.mode = PIN_MODE_INPUT_PULLUP; + cfg.user_data = &rst_pin; + rt_hw_cst8xx_init("cst8xx", &cfg); + cst8xx_probe(); + cst8xx_reset(20); + return RT_EOK; +} +INIT_DEVICE_EXPORT(rt_hw_cst812t_register); +void lv_port_indev_init(void) +{ + static lv_indev_drv_t indev_drv; + if (touch_probe() != RT_EOK) + { + rt_kprintf("probe cst812t failed.\n"); + return; + } + /*Register a touchpad input device*/ + lv_indev_drv_init(&indev_drv); + indev_drv.type = LV_INDEV_TYPE_POINTER; + indev_drv.read_cb = touchpad_read; + indev_touchpad = lv_indev_drv_register(&indev_drv); + LV_IMG_DECLARE(mouse_cursor_icon) + lv_obj_t * cursor_obj = lv_img_create(lv_scr_act()); /* Create an image object for the cursor */ + lv_img_set_src(cursor_obj, &mouse_cursor_icon); /* Set the image source*/ + lv_indev_set_cursor(indev_touchpad, cursor_obj); /* Connect the image object to the driver*/ +} +``` + +#### 2.5.4 mouse_cursor_icon.c + +图标文件太大了,超出了论坛的最大字数,可以用上文提到的网站自行转换一下 + +## 3. 原文链接 + +[RT-Thread-【RA8D1-Vision Board】适配 LVGL V8RT-Thread问答社区 - RT-Thread](https://club.rt-thread.org/ask/article/db674a18e1a2dfc3.html) + +# 十七、Camera(欧小龙) + +## 1. 开发环境 + +RT-Thread Studio:v2.2.7 + +开发板:RA8D1 Vision Board开发板 + +MCU:R7FA8D1BHEC337AS02 + +## 2. 步骤说明 + +### 2.1 硬件说明 + +![1.png](./picture/wKgZomYsShSAZP2pAADddszGO4A876.png) + +![2.png](./picture/wKgZomYsShqASZ7YAALBXIfdfKY529.png) + +### 2.2 RA8D1 Camera与LCD配置 + +接下来配置Camera与LCD,只需要简单配置就可使用。双击工程中的 RA Smart Configurator 图标,第一次打开需要配置正确的 FSP 安装路径。 + +![4.png](./picture/wKgaomYsNJOAZMDEAAEn25Hf4k0124.png) + +#### 2.2.1 FSP配置Camera + +在 FSP 配置界面里面我们依次点击 “Stacks”-> “New Stack”-> “Graphics”-> “Capture Engine Unit(r_ceu) ” + +![5.png](./picture/wKgZomYsSlaAIqRYAAECy_tkZhI852.png) + + 主要配置Camera的尺寸,Swap和回调函数名字。 + +![6.png](./picture/wKgaomYsSnSAAMHnAAH3s_aYnI0202.png) + +#### 2.2.2 FSP配置LCD + +依次点击 “Pin”-> “MIPI”,然后打开MIPI。 + +![7.png](./picture/wKgaomYsSoWAIIEQAACx9aKkcNQ688.png) + +在 FSP 配置界面里面我们依次点击 “Stacks”-> “New Stack”-> “Graphics”-> “Graphics LCD (r_glcdc) ” + +![8.png](./picture/wKgaomYsSpyAHdRiAAH__jI-TPQ335.png) + +主要配置输入大小和输出时序。 + +![9.png](./picture/wKgZomYsSquAA8muAAIaicrsmwM065.png) + +还需配置D/AVE 2D接口。 + +![10.png](./picture/wKgaomYsSrqAbCKkAAGfzumb8tk268.png) + +配置参数如下。 + +![11.png](./picture/wKgZomYsStGAJpVEAADHKnPyGJs633.png) + +主要配置接口名字。 + +配置完成之后可以按下快捷键“Ctrl + S”保存, 最后点右上角的 “Generate Project Content” 按钮,让软件自动生成配置代码即可。 + +#### 2.2.3 RT-Thread Studio配置Camera + +需要是能MIPI LCD以及SRAM硬件。 + +![12.png](./picture/wKgaomYsSuCAdyQIAADTh7GHFks820.png) + +### 2.3 Camera 应用代码实现 + +这里需要适配Camera和LCDD硬件,参考官网的代码。 + +![13.png](./picture/wKgaomYsSvaAXN_9AACLcFC4eXk034.png) + +核心应用代码如下: + +``` +#define CAM_WIDTH 320 +#define CAM_HEIGHT 240 + +extern sensor_t sensor; +uint8_t g_image_rgb565_sdram_buffer[CAM_WIDTH * CAM_HEIGHT * 2] BSP_PLACE_IN_SECTION(".sdram") BSP_ALIGN_VARIABLE(8); + +void hal_entry(void) +{ + rt_kprintf("This is a camera display demo.\n\n"); + rt_kprintf("===========================================================================\n"); + rt_kprintf("The example will display the data captured by the camera on the LCD screen.\n"); + rt_kprintf("===========================================================================\n"); + + sensor_init(); + sensor_reset(); + sensor_set_pixformat(PIXFORMAT_RGB565); + sensor_set_framesize(FRAMESIZE_QVGA); + + while (1) + { + sensor_snapshot(&sensor, g_image_rgb565_sdram_buffer, 0); + lcd_draw_jpg(0, 0, g_image_rgb565_sdram_buffer, CAM_WIDTH, CAM_HEIGHT); + rt_thread_mdelay(10); + } +} +``` + +## 3 原文链接 + +[【Vision Board创客营连载体验】RA8D1 Vision Board Camera 初体验 - RT-Thread论坛 - 电子技术论坛 - 广受欢迎的专业电子论坛! (elecfans.com)](https://bbs.elecfans.com/jishu_2426463_1_1.html) \ No newline at end of file