Commit Graph

158 Commits

Author SHA1 Message Date
Berkus Decker 6127b5d940 Merge pull-request #33 from metta-systems:fix/implement-gitpod-workspace to develop
Implement working gitpod workspace
For online development.

[close #33]
2020-11-18 02:27:52 +02:00
Berkus Decker 6050ca9e9d Update gitpod configuration
* Build from proper image
* Add vscode extensions
2020-11-18 02:27:05 +02:00
Berkus Decker 4e45358339 Merge pull-request #37 from metta-systems:fix/github-actions-upgrade to develop
Switch PATH setting to new environment files
According to github update https://github.blog/changelog/2020-10-01-github-actions-deprecating-set-env-and-add-path-commands/

[close #37]
2020-11-17 23:09:53 +02:00
Berkus Decker 367ad5bbb2 Adjust for nightly rustfmt bug
See https://github.com/rust-lang/rustfmt/issues/4528
for the bug description, namely rustfmt removes
this comment completely if it's left in the
extern block.
2020-11-17 22:56:56 +02:00
Berkus Decker 53e68bf7b3 Switch PATH setting to new environment files
According to github update https://github.blog/changelog/2020-10-01-github-actions-deprecating-set-env-and-add-path-commands/
2020-11-17 22:56:56 +02:00
Berkus Decker 02124ed342 Merge pull-request #30 from metta-systems:feature/add-pl011-uart to develop
Feature/add pl011 uart

[close #30]
2020-11-14 23:55:42 +02:00
Berkus Decker 5dffa9eb8e Add PL011 UART 2020-11-14 22:15:52 +02:00
Berkus Decker d124b02e7c Add set_clock_rate mailbox command 2020-11-14 22:15:52 +02:00
Berkus Decker de8b24d504 Merge pull-request #32 from metta-systems:feature/add-qemu-gdb-target to develop
Add qemu-gdb target
Refactor QEMU runners.

[close #32]
2020-11-14 22:15:18 +02:00
Berkus Decker e8da38e04f Add qemu-gdb target
Refactor QEMU runners.
2020-11-14 17:59:50 +02:00
Berkus Decker 91e8652abc Merge pull-request #31 from metta-systems:fix/code-cleanup to develop
Fix/code cleanup
* Set stack pointer immediately upon entry
* Disable alignment checks before enabling MMU (rust core lib likes to do unaligned half-word accesses from its fmt_u64 routine, which we use a lot)
* Print more detailed reports in kernel exception handler
* Clean up makefiles
* Dry up boot code
* Move build-std flags to cargo config, as they apply to all of the cargo invocations
* Remove rlibc dependency, use compiler built-ins instead

[close #31]
2020-11-14 17:59:14 +02:00
Berkus Decker 7604f7c166 Add cargo expand task 2020-11-14 17:33:43 +02:00
Berkus Decker f07f130132 Add comments to justfile commands 2020-11-14 17:33:43 +02:00
Berkus Decker 09003a7da2 Traps: print more detailed exception report 2020-11-14 17:33:43 +02:00
Berkus Decker 373f4753dc Disable alignment checks right on boot
Specifically, before we print any numbers - rust
core fmt_u64 uses a little optimisation that
ldrh/strh to unaligned addresses.
2020-11-14 17:33:43 +02:00
Berkus Decker 482c62d341 Change mmu detail printer formatting
Print mmu features before and after init.
2020-11-14 17:33:43 +02:00
Berkus Decker df0510266e Fix formatting 2020-11-14 17:33:43 +02:00
Berkus Decker dc2a73f6c6 Provide memory intrinsics via compiler builtins
Use unstable feature to remove rlibc crate dependency.
2020-11-14 17:33:43 +02:00
Berkus Decker bfba78118f Move build-std flags to cargo config 2020-11-14 17:33:43 +02:00
Berkus Decker aac05a8776 Increase stack print buffer size to print test panics
Tests may write pretty long messages in panic output.
2020-11-14 17:33:43 +02:00
Berkus Decker 50d9caa5f6 Set stack pointer immediately upon boot 2020-11-14 17:33:43 +02:00
Berkus Decker 20c7c8bd7e Refactor non-DRY boot code 2020-11-14 17:33:43 +02:00
Berkus Decker 79028dba96 Add nm helper target 2020-11-04 22:24:39 +02:00
Berkus Decker 6da44a69ac Improve gdb runner 2020-11-04 22:24:34 +02:00
Berkus Decker 1776dac439 Increase CI build timeout even more
Delays are growing!
2020-11-04 22:24:30 +02:00
Berkus Decker a5eeacf19b Merge pull-request #29 from metta-systems:feature/jtag-debugging to develop
Feature/jtag debugging
Add JTAG setup docs and try running with probe.rs

[close #29]
2020-11-03 20:23:51 +02:00
Berkus Decker d4356434a0 Increase CI build timeout 2020-11-03 19:49:39 +02:00
Berkus Decker d38661b63f Add openocd/gdb targets to makefile
Refactor build system scripts a bit.
2020-11-03 19:29:43 +02:00
Berkus Decker 2a4eb20131 Add explicit noload flag to BSS section 2020-11-03 14:03:22 +02:00
Berkus Decker 3415ccd68c Add JTAG helpers 2020-11-03 14:03:22 +02:00
Berkus Decker c378250aba Init serial before the rest
So we could see output from all modules.
2020-11-02 20:55:18 +02:00
Berkus Decker 1fedc95d42 Add JTAG documentation
This is old and tried docs from my RPi debugging setup with JTAG,
the next chapter with probe.rs is to be written.
2020-11-02 20:55:18 +02:00
Berkus Decker ec27898830 Merge pull-request #28 from metta-systems:feature/add-mini-uart to develop
Feature/add mini uart

[close #28]
2020-10-29 01:13:37 +02:00
Berkus Decker d342031331 Add kernel global CONSOLE
Init it with mini_uart - nothing else is implemented yet.
2020-10-28 21:38:53 +02:00
Berkus Decker ab696eca8e Implement Error type for traps module
Recommended by the clippy lint
https://rust-lang.github.io/rust-clippy/master/index.html#result_unit_err

Using snafu because it already has a no_std feature
unlike thiserror.
2020-10-28 21:38:53 +02:00
Berkus Decker fef66a0191 Bump cortex-a dependency to released version 2020-10-28 21:38:53 +02:00
Berkus Decker cecddea41e Add mini_uart implementation 2020-10-27 19:33:23 +02:00
Berkus Decker 7a46d7d993 Add a dummy Console device 2020-10-27 19:32:54 +02:00
Berkus Decker 9f06e2f1a5 Add clippy features matrix
Run clippy on all available feature combos.
2020-10-27 13:09:21 +02:00
Berkus Decker 201cf1e4af Add noserial feature flag 2020-10-27 11:34:56 +02:00
Berkus Decker ea75413df0 Add looping/delay helpers 2020-10-27 11:34:36 +02:00
Berkus Decker 7adf3e1629 Merge pull-request #26 from metta-systems:feature/add-gpio to develop
Feature/add gpio

[close #26]
2020-10-26 01:01:58 +02:00
Berkus Decker 41eed8e412 Add GPIO support 2020-10-25 22:57:38 +02:00
Berkus Decker 0def5a4687 Split test failure printing in two parts
Due to static buffer size the panic info might not fit. We still
want to print [failed] message in this case though.
2020-10-25 22:21:42 +02:00
Berkus Decker 79baa20eb6 Adjust indentation in debug output 2020-10-25 22:21:40 +02:00
Berkus Decker 149245f411 Merge pull-request #24 from metta-systems:feature/add-fb-interface to develop
Feature/add fb interface

[close #24]
2020-10-25 20:43:04 +02:00
Berkus Decker e19177da52 Add FrameBuffer configuration 2020-10-25 04:11:27 +03:00
Berkus Decker 082a1c29e7 Merge pull-request #25 from metta-systems:feature/deps.rs-badge to develop
Add deps.rs dependency status badge

[close #25]
2020-10-25 03:10:38 +02:00
Berkus Decker 1f9565b239 Add deps.rs dependency status badge 2020-10-25 03:46:13 +03:00
Berkus Decker 4da36b8d5e Merge pull-request #23 from metta-systems:feature/add-rpi3-mailboxes to develop
Feature/add support for RPi3 mailbox interface

[close #23]
2020-10-25 03:38:45 +03:00