Uploading programs / dynamic linking

General discussions about using the Astrobe IDE to program the FPGA RISC5 cpu used in Project Oberon 2013
Post Reply
cfbsoftware
Site Admin
Posts: 493
Joined: Fri Dec 31, 2010 12:30 pm
Contact:

Uploading programs / dynamic linking

Post by cfbsoftware » Sun Jul 26, 2015 12:39 pm

captbill wrote:What is the upload speed of the user space programs?
Currently we are uploading via the RS232 link which runs at 19.2Kbaud.

Although this is slower than the speed used when uploading to Cortex-M3 / M4 targets using Astrobe, less data needs to be transferred. Astrobe Cortex targets require you to link the program first with all of the library modules it uses and then all of this code is uploaded. On the RISC5 system you only need to upload the actual object code that you have written for your application. When you run your program it is dynamically linked with the library modules it needs. These are likely to be in RAM already - if not they are loaded very quickly from the SD card and are ready to be used again until the system is rebooted.

cfbsoftware
Site Admin
Posts: 493
Joined: Fri Dec 31, 2010 12:30 pm
Contact:

Re: Uploading programs / dynamic linking

Post by cfbsoftware » Mon Aug 17, 2015 11:47 am

Update: We've now got the RS232 data link running reliably at 115200 baud. In a test it took just over 20 seconds to upload the object files (*.rsc) of the five core modules of the operating system: Kernel, Files, FileDir, Modules and Oberon (~1800 lines of code). In normal operation these would be loaded off the SD card in a second or so. However, this example should give you a good idea of how little time it would take to upload a non-trivial compiled embedded application.

Post Reply