Replies: 4 comments
-
The STM32H750 has the same processing unit than STM32H743 and the same SRAM memory length and address map. The same occurs with the peripherals, that have the same quantities and address map. So the Ada drivers that I have developed for the STM32H743 don't need to change. For the run-times you only need to change the FLASH memory LENGTH in the file memory-map.ld. You have two options:
Below is the change for the FLASH LENGTH from 2048k to 128k that you need to do in the file memory-map.ld: MEMORY
{
FLASH (rx) : ORIGIN = 0x08000000, LENGTH = 128K /* Flash memory */
ITCM (xrw) : ORIGIN = 0x00000000, LENGTH = 64K /* ITCM */
DTCM (xrw) : ORIGIN = 0x20000000, LENGTH = 128K /* DTCM */
SRAM_AXI (xrw) : ORIGIN = 0x24000000, LENGTH = 512K /* AXI SRAM */
SRAM123 (xrw) : ORIGIN = 0x30000000, LENGTH = 288K /* SRAM 1,2 and 3 */
SRAM4 (xrw) : ORIGIN = 0x38000000, LENGTH = 64K /* SRAM4 */
RAM_BKP (xrw) : ORIGIN = 0x38800000, LENGTH = 4K /* Backup SRAM */
} And that's all for the ADL and run-times. Test them with a simple LED blinking program. Good Luck! |
Beta Was this translation helpful? Give feedback.
-
What is the correct way to re-compile the run-times? I tried running
I removed the *.ali files to try to force a re-compile, but then I got:
And I could not figure out how to get the compiler to build the system.ali file. I tried various pragmas in system.ads, and also tried creating a system.adb file with no success. I'm using the GNAT 2021 community version, and at one point the compiler was saying:
I also tried compiling the bb-runtimes subdirectory, but ran into a problem with s-taprop.adb
Later I discovered that s-taprop.adb is in the bb-runtimes/gnat_rts_sources and ADL/runtimes/*/gnarl, so that made me wonder if you were re-factoring the layout of the code to be under the ADL/runtimes directory instead Maybe I need to get GNAT 12.2 from https://github.com/alire-project/GNAT-FSF-builds/releases |
Beta Was this translation helpful? Give feedback.
-
This project can't be recompiled with the GNAT2021 because the bb-runtimes directory is exclusive for the FSF GNAT 12. You have three options:
I suggest that you download and install the FSF GNAT 12.2. With the last option you will really learn Ada, but perhaps you will spend some months. If you intend to do so, I have published Ada_Development_in_Linux and Nucleo-STM32H743ZI that describes the process to build a new runtime. |
Beta Was this translation helpful? Give feedback.
-
After switching to GNAT 12.2, I can compile with |
Beta Was this translation helpful? Give feedback.
-
Hi,
How much effort would it be to port this to the STM32H750 IBKx, used on the daisy seed? Any tips on porting, using your code as a base?
Some daisy seed info at
I'm hoping the STM32H743 is similar to make it easier, because I haven't tried to port an Ada runtime before. Also I think I need to use the Ravenscar profile for the real-time support (for audio) (Ada.Real_Time and delay until)
Thanks!
Beta Was this translation helpful? Give feedback.
All reactions