Search found 105 matches

by gray
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 ...
by gray
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...
by gray
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...
by gray
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...
by gray
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...
by gray
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...
by gray
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...
by gray
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...
by gray
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...
by gray
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 ...