Commit graph

7820 commits

Author SHA1 Message Date
bunnie
b3de92aabc add option to dump kernel pages in panic dumps 2024-11-07 16:09:49 +08:00
bunnie
735c4bfedd add debug options for sussing out IRQ problems in the kernel 2024-11-07 16:05:47 +08:00
bunnie
99bf1276db add note about the multithreading option for I2C 2024-11-07 16:05:22 +08:00
bunnie
7cceb9bea4 add APIs and glue logic for implementation of shared I2C resource
The API now provides, in addition to stand-alone read/write
transactions, the ability to send a group of transactions that will
be executed in-order without any other transactions in between.

This allows better compatibility with devices that are designed assuming
they are the sole target on the bus.

Note that the current implementation does not thread out the I2C
handler into its own thread so the service provider blocks until
all the I2C transactions are done. Adding a thread to handle
the I2C stuff would allow other requests to make progress but
at the moment this isn't required.
2024-11-07 16:00:20 +08:00
bunnie
a11f2f7f54 add I2C abstraction to cramium HAL
taking full advantage of the new rkyv crate capabilities!
2024-11-07 15:04:55 +08:00
bunnie
e05f9346b3 add baosec build
this is a slimmed down target designed for a smaller memory
footprint. there is some loss of process isolation security but
also a boost in performance due to more items sharing a memory
space.
2024-11-05 22:10:45 +08:00
bunnie
5c5c473a3f add new baosec packages 2024-11-05 22:10:26 +08:00
bunnie
aba5d25e36 cleanup warnings when boardbringup is not selected 2024-11-05 19:41:12 +08:00
bunnie
101084a822 cleanup some local echo artifacts 2024-11-05 19:40:51 +08:00
bunnie
0463629a0a cleanup warnings when board-bringup target is not selected 2024-11-05 19:40:28 +08:00
bunnie
9d850a068f add some documentation 2024-11-05 19:40:04 +08:00
bunnie
5935406f89 interpret more escape codes gracefully 2024-11-05 19:39:40 +08:00
bunnie
a9abba0bb0 add a minimal pure terminal based console for baosec target
The screen is tiny, so it's not useful for feedback -- all interaction
happens on the serial console for this target.

Main purpose for this console is debug/test/factory bringup.
2024-11-05 19:38:25 +08:00
bunnie
2afc139957 accept nalgebra dependencies 2024-11-05 01:46:22 +08:00
bunnie
ec801ca716 add nalgebra dependency 2024-11-05 01:46:03 +08:00
bunnie
60eb2ec14b add feature for qr code extraction 2024-11-05 01:45:45 +08:00
bunnie
b1e31924a0 add helper routines for qr finding 2024-11-05 01:45:29 +08:00
bunnie
dc20c84785 refer to new modules 2024-11-05 01:45:13 +08:00
bunnie
08f7252791 integrate new qr finding code 2024-11-05 01:44:53 +08:00
bunnie
16c9b2c7e2 insert refactored qr code
code alignment and finding now works *great*. Near real-time
performance!
2024-11-05 01:44:12 +08:00
bunnie
f6d6db566a add homography searching routines 2024-11-05 01:43:59 +08:00
bunnie
77a8aa88b5
Merge pull request #591 from betrusted-io/mpwevb-dev
Mpwevb dev
2024-11-04 22:57:18 +08:00
bunnie
92509c448b some debug cleanup 2024-11-04 22:53:31 +08:00
bunnie
a7e59ad1bb change working set, and increase swap memory size 2024-10-27 23:28:59 +08:00
bunnie
8ce400dde3 add more feature flags 2024-10-27 23:28:38 +08:00
bunnie
6c4cd3bc67 add qr option 2024-10-27 23:28:08 +08:00
bunnie
8625dae0db add more swap sram support and change resolution api name 2024-10-27 23:27:26 +08:00
bunnie
4f85deaecb change api name for resolutions to dimensions 2024-10-27 23:26:45 +08:00
bunnie
c2c822e3a3 gate more options behind features 2024-10-27 23:25:48 +08:00
bunnie
14bb0fda69 make usb optional 2024-10-27 23:25:11 +08:00
bunnie
bceb08afb8 recognize 8MiB swap chip 2024-10-27 23:24:42 +08:00
bunnie
38ad0363ce fix capacity units 2024-10-26 18:45:36 +08:00
bunnie
d41113fb9a fix operator chaining 2024-10-26 18:42:16 +08:00
bunnie
4dd78b9727 add descriptor chaining helper methods
mass storage is...somewhat stable now, on both linux and windows,
but there are some corrupt packets. need to look into whether
electrical issue, or if we're stomping the transfer buffers because
we've not managed them correctly.

Also need to reflect on how to turn this API into something
safer...the hardware is doing *so much* in this API, the driver
is basically global mutable state with arbitrary slices you can
write over the ends once you hand things off to the driver.
2024-10-26 03:07:00 +08:00
bunnie
1a90df9d53 add descriptor chaining for large bulk transfers 2024-10-26 03:06:37 +08:00
bunnie
2a92932850 cleanup some debug 2024-10-26 03:06:10 +08:00
bunnie
f9e99a4ff3 add assembly stub for cramium boot
this fixes a stability issue observed at boot
2024-10-24 01:29:04 +08:00
bunnie
df44d62b1f
Merge pull request #590 from betrusted-io/fix-test
revert statics clearing routine
2024-10-21 03:32:02 +08:00
bunnie
e7f706e9cd revert statics clearing routine
this turns out to be a bad idea because it corrupts systems
that have suspend/resume.
2024-10-21 03:28:58 +08:00
bunnie
b994521f1c
Merge pull request #589 from betrusted-io/mpwevb-usb
Mpwevb usb
2024-10-21 01:54:45 +08:00
bunnie
9e0bd64195 allocate large swathes of memory to camera
this is for higher resolution QR code scanning

makes it incompatible with simultaneous USB usage

however, when camera is off, the USB stack can be started, and
vice-versa. Basically, you can't both do active USB and camera
at the same time, but you can do one or the other.
2024-10-21 01:22:12 +08:00
bunnie
86dd350a87 update lockfile for libm 2024-10-21 01:20:04 +08:00
bunnie
b5f7c4c490 add minigfx to hal lib 2024-10-21 01:18:51 +08:00
bunnie
9647202366 cleanup testing code for QR code
now it will overlay crosshairs on finder patterns and do affine
correction when the finders are found.
2024-10-21 01:18:12 +08:00
bunnie
5d49d2dbb7 add libraries for math and make usb a feature 2024-10-21 01:17:41 +08:00
bunnie
6c1b809828 make USB a feature for the loader 2024-10-21 01:17:21 +08:00
bunnie
2fd59a1f87 tweaks for platform agnostic API 2024-10-21 01:16:59 +08:00
bunnie
b3f038ca06 add affine skew correction step 2024-10-21 01:16:37 +08:00
bunnie
407dec86a3 adopt platform & display -agnostic APIs for SH1107 frame buffer 2024-10-21 01:15:48 +08:00
bunnie
0081575e80 fix timer primitive for ov driver 2024-10-21 01:15:09 +08:00