Search found 105 matches
- Wed Jun 02, 2021 4:28 am
- Forum: Astrobe for FPGA RISC5
- Topic: Self-unloading With Modules.Free?
- Replies: 2
- Views: 16544
Re: Self-unloading With Modules.Free?
Thanks for your information and insights. Your general words of caution are useful in any case, as in case "self-freeing" would not work, the unloading could easily be delegated to an extended loader process/task that would free the first program before loading the subsequent one. My current design ...
- Tue Jun 01, 2021 9:23 am
- Forum: Astrobe for FPGA RISC5
- Topic: Self-unloading With Modules.Free?
- Replies: 2
- Views: 16544
Self-unloading With Modules.Free?
Is there any reason why, or a situation when, this would not work? MODULE M; IMPORT Modules, Oberon; PROCEDURE Run*; BEGIN Modules.Free("M"); Oberon.Collect(0) END Run; END M. That is, a module unloading itself. The reasoning here is that Modules.Free just sets the module name to the empty string, a...
- Mon May 03, 2021 6:54 am
- Forum: Astrobe for FPGA RISC5
- Topic: SYSTEM.PUT Transfer Width
- Replies: 0
- Views: 39748
SYSTEM.PUT Transfer Width
With the Astrobe compiler, SYSTEM.PUT(adr, val) transfers either eight or 32 bits, depending on the type of 'val'. But what if 'val' is an expression? I had this procedure interfacing a device in the FPGA hardware. PROCEDURE SetSignal*(dev: INTEGER; sig: BYTE); BEGIN SYSTEM.PUT(Adr, LSL(sig, DataShi...
- Sat Apr 17, 2021 6:48 am
- Forum: Astrobe for FPGA RISC5
- Topic: Configurable Stack Size
- Replies: 0
- Views: 39666
Configurable Stack Size
As mentioned in here , my first real use of creating my own boot file was to make the stack size configurable. To tie up that loose end, here's how. It should basically apply to Project Oberon as well, but I'll focus on Embedded Oberon. The stack size is hard-coded to 32 kB (8000H) in two places. Ke...
- Wed Apr 14, 2021 11:16 am
- Forum: Astrobe for FPGA RISC5
- Topic: Creating Boot Files for EO with Astrobe for RISC5
- Replies: 1
- Views: 16085
Creating Boot Files for EO with Astrobe for RISC5
The following applies to Embedded Oberon, running on an FPGA board, using an SD card for storage. To venture into making changes to the inner core of the Embedded Oberon (EO) system, that is, modifying modules Files, FileDir, Modules, or Kernel, it's necessary to create a new boot file to reflect th...
- Wed Apr 14, 2021 12:51 am
- Forum: Astrobe for FPGA RISC5
- Topic: Tools for backing up a Project Oberon SD card image
- Replies: 1
- Views: 14897
Re: Tools for backing up a Project Oberon SD card image
I also use Win32 Disk Imager and the 'dd' command line tool. Here's my backup approach. I use Disk Imager to initially create an SD card to boot Embedded Oberon, using the disk image as downloaded from the Astrobe website, eg. 'Embedded200812.img'. Thereafter, I have an SD card with a 256 MB FAT par...
- Sat Apr 10, 2021 2:26 am
- Forum: Astrobe for FPGA RISC5
- Topic: Why are the SPI MISO and SCLK signals shorted together?
- Replies: 2
- Views: 17030
Re: Why are the SPI MISO and SCLK signals shorted together?
I think we should differentiate between the SPI device itself, and SPI-connected devices, for lack of a better term. The SPI device is implemented in the FPGA, the SPI-connected devices are, well, connected to this SPI device. The SD card is an SPI-connected device, as is the RTC if installed. Using...
- Mon Jan 20, 2020 6:46 am
- Forum: Astrobe for ARM Cortex-M0, M3, M4 and M7
- Topic: Configuring Buffer Sizes
- Replies: 2
- Views: 24579
Re: Configuring Buffer Sizes
You are right, I had come to the same conclusion. To actually see what the type complexity entails, down to the interrupt handler and so on, I implemented the module, and it results in roughly doubling the code size: about 4k for the "complex" version, about 2k for a version along the lines you sugg...
- Sat Jan 18, 2020 1:48 pm
- Forum: Astrobe for ARM Cortex-M0, M3, M4 and M7
- Topic: Configuring Buffer Sizes
- Replies: 2
- Views: 24579
Configuring Buffer Sizes
I am struggling with an seemingly straightforward problem. I am re-implementing my channels for input and output. Channels are abstractions of actual devices, such as serials. For a buffered implementation I need, well, buffers. I would like to have different buffer sizes for the different serials i...
- Sat Dec 28, 2019 4:54 am
- Forum: Astrobe for ARM Cortex-M0, M3, M4 and M7
- Topic: push {}
- Replies: 20
- Views: 93749
Re: push {}
FWIW, I enable the handlers from my Exceptions.Init, which corresponds to your Traps.Init, both called from Main.mod, ie. right before the application code starts. At this point, I can simply write to SCB_SHCSR. CONST SCB_SHCSR = MCU.NVICBase + 0D24H; MEMFAULTENA = 16; BUSFAULTENA = 17; USGFAULTENA ...