Commit graph

93 commits

Author SHA1 Message Date
stnolting
656c820b1d update bootloader
do not allow booting from XIP flash if XIP module not implemented (prevent bootloader crash)
2024-02-11 10:24:43 +01:00
stnolting
09e556a925 [bootloader] update XIP configuration 2024-02-09 14:00:12 +01:00
stnolting
ef6965c473 update bootloader
shut down heart beat LED (if enabled) before booting application
2024-01-20 22:56:52 +01:00
stnolting
fed34aad43 update bootloader (XIP setup function) 2023-11-18 18:39:04 +01:00
stnolting
99c3cc1b03 [bootloader] minor edits
explicitly declare interrupt routines to be executed as machine mode code
2023-10-11 20:47:13 +02:00
stnolting
ae56e0073e update bootloader
Bootloader does not longer require ispace_base/dspace_base addresses from SYSINFO
2023-07-28 10:19:00 +02:00
stnolting
52fbd613a3 update bootloader
remove CUSTOM_ID ("CID")
2023-07-27 09:57:58 +02:00
stnolting
8a79450544 update bootloader 2023-07-15 21:10:13 +02:00
stnolting
16b057965b [bootloader] minor edits 2023-06-23 11:51:03 +02:00
stnolting
3533c900b3 [bootloader] re-link + minor edits
Add memory sync to bootloader (flush caches before booting the application).
2023-06-02 13:37:39 +02:00
Brian Nemetz
39a119f6b3 Added a bootloader config parameter (UART_HW_HANDSHAKE_EN) to enable UART hardware flow control. Defaults to disabled. 2023-03-30 20:00:16 -07:00
Alvaro Gamez Machado
6667dbdcc6 [sw] bootloader: send wake up command to flash before trying to speak with it
The ice40 family of FPGAs, send a sleep command to the flash once it's
finished with self-programming in order to save some power [1], unless
instructed not to when generating the bitfile (icepack -s or equivalent
setting on Radiant)

We don't want the bootloader to depend on the bitfile generation settings
and thus we wake up the flash, but since we want a bootloader as small as possible,
we don't care to put it back to sleep again (because we don't even know if it was
sleeping or not) and let the user application decide what to do with it.

[1] https://www.latticesemi.com/~/media/LatticeSemi/Documents/ApplicationNotes/IK/FPGA-TN-02001-30-iCE40-Programming-Configuration.pdf?document_id=46502 , page 20
2023-03-16 15:34:14 +01:00
stnolting
9de253c61a update bootloader
split MISA and MXISA CSR output in bootloader intro screen
2023-03-07 17:27:17 +01:00
stnolting
6f9edd5186 update bootloader 2023-03-05 19:00:46 +01:00
stnolting
2c40f42f30 update bootloader 2023-03-04 12:15:30 +01:00
stnolting
b020dd9187 update bootloader (image) 2023-03-02 19:08:54 +01:00
stnolting
5e5b521e74 typo fix (second try) 2023-02-27 19:26:37 +01:00
stnolting
f939119cde typo fix 2023-02-27 19:23:39 +01:00
Stephan
2b3712acbd
Merge branch 'main' into sysinfo_ptr
Signed-off-by: Stephan <stnolting@gmail.com>
2023-02-27 19:14:19 +01:00
emb4fun
f51130379b
SYSINFO: Change "variable style" by "pointer style" 2023-02-27 15:14:12 +01:00
emb4fun
777977ee93
MTIME: Change "variable style" by "pointer style" 2023-02-27 11:50:04 +01:00
stnolting
1f42a271e6 [sw] remove trailing spaces 2023-02-05 09:47:47 +01:00
stnolting
c4c7db102a [sw] update bootloader 2023-01-21 15:27:11 +01:00
Stephan
74c0817a1e
[sw] rename library functions (#467)
* [sw/lib] rename library functions (UART + RTE)

* [sw/example] change library function calls

* [sw/lib] change library function calls

* [sw/lib] add backwards compatibility layer

* [docs] minor edits/fixes

* [sw/lib] comment edits

* update bootloader
2022-12-28 13:02:51 +01:00
stnolting
ef715f5116 fix minor bootloader bug
console always printed "invalid command" at start
2022-11-05 09:52:31 +01:00
stnolting
b4a9ac2dbe [bootloader] update SPI functions 2022-11-01 18:17:32 +01:00
stnolting
d3ca99326b [bootloader] update SPI setup function call 2022-07-31 21:19:00 +02:00
stnolting
c897d0f85a [bootloader] show CUSTOM_ID
Value assigned to CUSTOM_ID generic is shown as "CID" in bootloader intro.
2022-07-22 15:20:34 +02:00
stnolting
1053e4cf7e [bootloader] update source code 2022-07-11 20:55:32 +02:00
stnolting
9f08db334f [bootloader] fix endianness
minor clean-ups; changed default flash base address to 0x02000000
2022-07-09 12:13:18 +02:00
stnolting
bd1f333991 minor error code edits 2022-05-20 21:36:20 +02:00
stnolting
bc94b2dc37 rework SPI handling of bootloader
* remove "presence detection" by reading manufacturer ID
* added new presence detection mechanism by checking if the WEL bit of the flash status register can be set and cleared again
* added new configuration option to select spi flash address width (2,3 or 4 bytes)
2022-05-20 16:58:43 +02:00
stnolting
2a1dd0b34f check if SPI module available 2022-04-06 21:11:34 +02:00
stnolting
68cbc4a5e7 minor typo fixes (comments) and edits 2022-02-24 04:28:44 +01:00
stnolting
e0ecfa3fc0 [sw/bootloader] update m(x)isa output 2022-02-16 07:49:51 +01:00
stnolting
a64f8cc48f [sw/bootloader] improved user console
more detailed messages
2022-02-03 09:07:35 +01:00
stnolting
6e245464e0 [sw/bootloader] minor edits in console output 2022-02-02 15:57:55 +01:00
stnolting
2b06872fbf 🐛 [sw/bootloader] fixed bug in bootloader's (M)TIME handling 2022-01-31 08:27:36 +01:00
stnolting
82f57d8d39 ⚠️ bootloader now stores executable as low-endian to flash 2021-11-28 16:18:04 +01:00
stnolting
32bcd9d8eb bootloader: added exception error code #169 2021-10-27 23:50:50 +02:00
stnolting
3c82001740 [sw/bootloader] minor edits and reverts 2021-10-27 00:33:45 +02:00
stnolting
9f158b7796 [sw/bootloader] stall if unexpected exception 2021-10-24 19:55:44 +02:00
stnolting
59ec2b557f [sw/bootloader] updated SPI setup of bootloader 2021-10-17 09:58:31 +02:00
stnolting
bef3e1380b [bootloader] minor edits
"neorv32_cpu_get_systime" executes faster than "neorv32_mtime_get_time" and also returns system time
2021-10-05 15:57:08 +02:00
stnolting
41c95c4a12 [sw/bootloader] minor edits 2021-09-21 22:37:05 +02:00
stnolting
e4f14c0143 [sw/bootloader] converted 2021-09-17 18:30:10 +02:00
stnolting
e4b29674a2 [sw] removed custom mzext CSR; moved info o new SYSINFO_CPU register 2021-08-19 13:32:05 +02:00
stnolting
e467decb43 [bootloader] added option to disable SPI module
and related bootloader options (like load/storing executables from/to SPI flash; SPI auto-boot)
2021-08-19 11:50:21 +02:00
stnolting
16cfbb63a0 added console options to configure/customize build-in bootloader
* updated according sections in data sheet and user guide
2021-06-26 20:03:10 +02:00
stnolting
6cb945f7c4 made bootloader even more HW configuration independent
* GPIO is optional
* MTIME is optional
* SPI is optional
* UART is optional but highly recommended

general clean-up of bootloader source code
2021-06-25 18:00:37 +02:00