Commit Graph

56 Commits

Author SHA1 Message Date
Sebastien Bourdeauducq 8c19d90179 firmware: prepare config block for access from BIOS/bootloader.
This is in 3.2 so that users lose storage only once.
2017-12-28 12:23:18 +08:00
whitequark 135c138ec3 runtime: remove borrow_mut!() in favor of backtraces. 2017-12-28 12:06:29 +08:00
whitequark 26dbf0841c conda: ship runtime.elf in board-specific packages.
This is so that backtraces may be symbolized.
2017-12-27 10:48:35 +08:00
whitequark 3f8dc0233a runtime: update smoltcp. 2017-12-27 10:43:32 +08:00
whitequark 99bb1b0b70 runtime: print (address-only) backtraces on core device panics. 2017-12-27 10:37:44 +08:00
whitequark 6cbf8786d8 runtime: get rid of config_dummy.rs. NFC.
Use the same strategy as elsewhere.
2017-12-27 10:35:36 +08:00
whitequark 231bf77b43 runtime: update smoltcp. 2017-12-19 23:52:50 +08:00
Sebastien Bourdeauducq 76a908c8a9 backport Ethernet bugfixes from master 2017-12-07 12:21:21 +08:00
whitequark 3e96e0b10d runtime: parse the "ip" configuration as IP, not CIDR.
Or it defaults to the default IP on settings that were previously
perfectly valid.
2017-10-30 15:43:28 +08:00
whitequark 89b7c9e091 Update smoltcp.
Fixes #840.
2017-10-25 10:57:42 +08:00
whitequark 7799413a41 firmware: update Rust from 1.18.0 to 1.20.0. 2017-09-24 22:51:44 +00:00
whitequark 39ecbc0d68 firmware: update smoltcp. 2017-08-30 14:35:45 +00:00
Sebastien Bourdeauducq ac83bfbd8e runtime: add support for targets without SPI flash 2017-08-20 11:28:57 -04:00
whitequark dd87508a7f Implement forwarding of logs from core device to master.
Fixes #691.
2017-07-18 05:31:59 +00:00
whitequark ee1d5dbccb runtime: allow a much larger log buffer and avoid hacks. 2017-07-04 18:18:31 +00:00
whitequark f17a6616b2 runtime: ensure management interface buffer can hold log buffer.
Otherwise we get weird edge cases where the network stack could try
to append to log buffer while management interface is holding
the log buffer and trying to push it out, and it's just no good.

The serialized log buffer at its maximum length is slightly longer
than 32 KiB, so we just allocate the largest possible TCP buffer
to the management interface to keep it simple.
2017-06-24 17:09:28 +00:00
Sebastien Bourdeauducq 8399f8893d add kernel access to non-realtime SPI buses (#740) 2017-06-18 12:45:07 +08:00
whitequark 0e68eaa879 runtime: print a heap dump on out-of-memory condition. 2017-04-21 14:48:10 +00:00
whitequark db494967c5 firmware use Rust 0.18.0. 2017-04-19 09:38:24 +00:00
whitequark c6e8d5c901 runtime: allow setting UART log level explicitly.
This is way more convenient than commenting out parts
of session.rs when debugging.
2017-04-15 08:27:18 +00:00
whitequark ea753bed17 runtime: advise to set panic_reboot=1 on panic. 2017-04-15 07:29:36 +00:00
whitequark 948ed6fb0a Extract core device management interface from session interface (#691). 2017-03-29 03:36:21 +00:00
whitequark c586035caa runtime: add an option to reboot after a panic. 2017-03-14 09:02:28 +00:00
whitequark 5bbb05362b runtime: update smoltcp. 2017-03-07 11:36:28 +00:00
whitequark d52723d5bc runtime: allow setting log level in configuration. 2017-03-07 11:36:28 +00:00
Sebastien Bourdeauducq dff23293c7 Merge branch 'master' of github.com:m-labs/artiq 2017-02-27 01:05:40 +08:00
whitequark 5d3b00cf12 Implement recording of DMA traces on the core device. 2017-02-26 02:50:20 +00:00
whitequark 2a81819eb0 firmware: restructure to avoid #[path = "..."] mod ...;
Such code is fragile, introduces mess in dependencies, and
inflates compile times.
2017-02-25 17:54:14 +00:00
Sebastien Bourdeauducq 5a16660aa2 runtime: new moninj protocol, TCP-based, with DRTIO support 2017-02-25 12:07:00 +08:00
whitequark 04ad267055 firmware: rewrite the dynamic linker in Rust. 2017-02-24 18:57:29 +00:00
Sebastien Bourdeauducq 257527629a firmware: use aux ping to determine when DRTIO satellite is ready 2017-02-22 15:26:32 +08:00
whitequark cde2054926 firmware: do not link to C code in runtime and satman. 2017-02-03 12:12:41 +00:00
whitequark fd8b11532f compiler, firmware: use Pascal strings everywhere.
This removes a large amount of very ugly code, and also simplifies
the compiler and runtime.
2017-02-03 11:53:27 +00:00
whitequark 259319e456 firmware: use compiler_builtins crate instead of our compiler-rt.
This cannot be done for ksupport yet because compiler_builtins
misses most soft-float operations.
2017-02-02 10:55:35 +00:00
whitequark 44a9a79f96 firmware: port allocator to Rust. 2017-02-02 10:55:35 +00:00
whitequark 3b54736c02 firmware: port flash storage management to Rust. 2017-02-02 05:26:06 +00:00
Sebastien Bourdeauducq 54295b1699 firmware: use has_ad9154 instead of has_converter_spi for conditional compilation
DRTIO designs do not have a JESD core yet, so we need to support converter SPI buses with only the clock chip.
2017-01-30 11:03:55 +08:00
whitequark b7f6bfffeb firmware: fix embedding of software version during build. 2017-01-26 17:40:29 +00:00
whitequark 31e5f9a810 firmware: read MAC/IP address configuration from flash. 2017-01-26 17:40:29 +00:00
whitequark b29e2d5bfe Globally update UART baudrate to 921600. 2017-01-24 22:25:58 +00:00
whitequark 3633671656 firmware: factor out console and logging from runtime/satman. 2017-01-24 21:58:58 +00:00
whitequark 5604d9bb55 firmware: factor out build scripts from runtime/satman. 2017-01-24 21:15:41 +00:00
whitequark 527b1e986c firmware: integrate smoltcp instead of lwip. 2017-01-23 13:59:34 +00:00
whitequark 971e4c3026 firmware: increase post-boot UART speed to 921600. 2017-01-23 13:57:08 +00:00
Sebastien Bourdeauducq ce31ffddb0 firmware: add satellite manager
The code duplication with the runtime should be cleaned up later.
2017-01-18 16:50:32 -06:00
Sebastien Bourdeauducq 7af152ed22 firmware: pass spawner around instead of scheduler 2017-01-10 16:15:39 -06:00
Sebastien Bourdeauducq 082fdaf450 move i2c to libboard, do bit-banging on comms CPU 2017-01-04 21:04:38 +01:00
Sebastien Bourdeauducq 3dd9d54b22 firmware: fix compilation warning without moninj/analyzer 2017-01-04 21:04:08 +01:00
Sebastien Bourdeauducq 7ff77bceac move AD9616 and AD9154 initialization to firmware 2017-01-03 16:11:38 +01:00
Sebastien Bourdeauducq 26e7f68b5d firmware: move clock to libboard 2017-01-01 18:23:27 +01:00