Nп/п : 81 из 100
 От   : DrPi                                2:5075/128        28 сен 23 19:51:57
 К    : Simon Wright                                          28 сен 23 20:55:02
 Тема : Re: Should light runtimes get more consideration?
----------------------------------------------------------------------------------
                                                                                 
@MSGID: 1@rasp.pasdenom.info>
07655394
@REPLY: <lyr0mimnup.fsf@pushface.org> ce290337
@REPLYADDR DrPi <314@drpi.fr>
@REPLYTO 2:5075/128 DrPi
@CHRS: CP866 2
@RFC: 1 0
@RFC-Message-ID:
1@rasp.pasdenom.info>
@RFC-References: 1@dont-email.me>
1@dont-email.me> 1@dont-email.me> <lyr0mimnup.fsf@pushface.org>
@TZUTC: 0200
@PID: Mozilla Thunderbird
@TID: FIDOGATE-5.12-ge4e8b94
> The current implementation has about 17 files (1 .h, 1 .s, 9 .ads, 4
> .adb) to customise to the chip (setting up interrupt vectors, the clock,
> and memory). There are about 200 Ada sources that are common.

> AdaCore currently have 68 RTS packages in the Alire gnat_arm_elf
> toolchain. 18 of these are `embedded` packages (full Ada, but with
> Jorvik tasking). I`d be surprised if they had a higher proportion of
> chip dependency than my efforts. Most if not all of the exception
> handling will be chip-independent. I`m not sure how many of the 90 or so
> Ada sources in the STM32F4 gnarl/ directory are actually chip-dependent,
> I get the impression it`s not high.
>
Right, not high.

I`ve created 2 of them based on one of the Adacore RTS.
I can`t say it has been easy since you first have to understand how it 
works (and things change at each new release).
One important point is that some critical parameters are hard coded in 
the source code. Like the core frequency. You MUST use a fix clock 
frequency to get correct time management (delays, ...). This is why in 
their last version, you run a script to generate part of the RTS source 
code (frequency and other parameters are injected in the source code). 
When you change the core frequency you have to regenerate the RTS binary.

I created the RTS to evaluate the potential use of Ada on embedded 
targets. I have never used them except for testing.
The main reason is that Adacore RTS are made for specific use (avionics, 
spatial...). The code using these RTS must be provable (or as provable 
as possible). This induce big limitations.
Tasking is very limited. For example you can`t use timeouts. Never. They 
propose a workaround but it is complex and not equivalent to a real 
timeout management.
I`d like to have a full Ada RTS for embedded targets, like on desktop. I 
don`t need to certify/prove my hardware/software.
Some people say micro-controllers are too limited for this. That`s true 
for some of them. I use micro-controllers with megabytes FLASH memory 
and hundreds kilobytes of RAM. Is this not enough ?


--- Mozilla Thunderbird
 * Origin: <https://pasdenom.info/news.html> (2:5075/128)
SEEN-BY: 5001/100 5005/49 5015/255 5019/40 5020/715
848 1042 4441 12000
SEEN-BY: 5030/49 1081 5058/104 5075/128
@PATH: 5075/128 5020/1042 4441



   GoldED+ VK   │                                                 │   09:55:30    
                                                                                
В этой области больше нет сообщений.

Остаться здесь
Перейти к списку сообщений
Перейти к списку эх