Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

In general the initialization function will initialize only the absolutely necessary peripherals like clock system, CAN controller, memory management as needed by Paulus. Nevertheless, there might be situations where it makes sense that Paulus initializes other functionalities which are later used by the application as well. As an example consider the serial interface for debug messages.

...

Generating application software

The application software consists of an application header and an application program, see Figure 2.

...

  •      build the application program in binary format

  • calculate the CRC of the application program, build the application header and generate the application software to download

  • configure the start address of the application software in Paulus

...

Paulus checksum

The program paulus_cksum calculates the CRC checksum of the binary application program generates the application header and stores the application header and the application program in a new file. This file can be loaded in the device by Paulus. The application must be a binary file. They could e.g. use the tool

...

The total size of the STM32H743x flash is 2048Kb. The current implementation of Paulus occupies a memory area of 128Kb from this (the first Flash Sector 0). Therefore, 1920Kb (less 0x100 byte crc header and offset) flash memory area available for the application software. The additional memory offset is necessary for the address alignment when moving vector table.

...

Figure 2: Flash memory mapping

The optionally CANopen service LSS from Paulus used just additional Flash Sector 1 for saving config data (nodeID and bitrate index). This is only a possible design example. But it’s alternatively possible to store this data in an eeprom or other NVM area to get the Sector 1 for the application software free.

...