| Commit message (Collapse) | Author | Age |
| ... | |
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This enables changing values of atoms declared as constants, should
enable lets, and with some work, even lexical scoping.
this required changing the constant computation to run
ao_lisp_collect() before dumping the block of constant data, and that
uncovered some minor memory manager bugs.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| | |
| |
| |
| |
| |
| | |
Along with other small fixes
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| | |
| |
| |
| | |
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| | |
| |
| |
| |
| |
| |
| | |
With these two changes, the readline function can be used by other
code.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This makes all lisp objects use 16-bit ints for references so we can
hold more stuff in small amounts of memory. Also adds a separate
constant pool of lisp objects for builtins, initial atoms and constant
lisp code.
Now builds (and runs!) on the nucleo-32 boards.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| | | |
|
| | |
| |
| |
| | |
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| | | |
|
| | | |
|
| | |
| |
| |
| |
| | |
This provides the information necessary to reflash chaoskey using
standard Linux device firmware tooling.
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Gcc 5.4.1 tracks alignment of data through assignments, so that a
uint32_t pointer which comes from byte-aligned uint8_t data:
extern uint8_t foo[];
uint32_t *q = (void *) foo;
Fetches and stores through this pointer are done bytewise. This is
slow (meh), but if q references a device register, things to bad very
quickly.
This patch works around this bug in the compiler by adding
__attribute__((aligned(4))) tags to some variables, or changing them
from uint8_t to uint32_t. Places doing this will now be caught as I've
added -Wcast-align to the compiler flags. That required adding (void
*) casts, after the relevant code was checked to make sure the
compiler could tell that the addresses were aligned.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| | |
| |
| |
| |
| |
| |
| | |
I'm sure this makes the function end up in-lined, which saves enough
text space to fit the flash loader in ROM again.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| | |
| |
| |
| |
| |
| |
| |
| | |
Wait less time before trying the test script.
Have the test script wait for the device to appear. And then use
colors to help make the results clear.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| | |
| |
| |
| |
| |
| |
| | |
A couple of fixups for ao_flight_test to dump pyro info only when
running in debug mode, and to change the aprs testing
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| | |
| |
| |
| |
| |
| | |
This hooks up the LED, USB and the USART.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| | |
| |
| |
| |
| |
| |
| | |
The STM32F0 usart can be operated much like the STM32L usart, but the
registers are all moved around.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| | | |
|
| | |
| |
| |
| | |
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| | |
| |
| |
| | |
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| | | |
|
| | |
| |
| |
| |
| |
| |
| | |
Somethings messed up with cortex-M0 linking, and this isn't helping as
it overrides the LDFLAGS coming from the architecture.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Openocd 0.9.0 has generalized the lpc11xx support for all lpc11xx
processors, not just the lpc11u14. This replaces the specific
lpc11u14.cfg with the general lpc11xx.cfg file.
Unlike the build we were using, this doesn't adjust the
'verify' command to adapt for the checksum which gets added during the
flashing process. Hence, we disable verification and trust that if the
flash loader works to load the OS, it's fine.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
Skip sections with size 0, or which are of type SHT_NOBITS or which
don't have the SHF_ALLOC flag set.
This avoids crashing on sections which don't have any data to copy.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
Something changed in the link editor which makes it complain about 'no
space for program headers' on LPC and STMF0 builds. Somehow, adding
the '-n' flag to the linking step fixes it. It doesn't appear to break
the build, so I guess it's ok?
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| | | |
|
| | | |
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Gcc 5.4.1 tracks alignment of data through assignments, so that a
uint32_t pointer which comes from byte-aligned uint8_t data:
extern uint8_t foo[];
uint32_t *q = (void *) foo;
Fetches and stores through this pointer are done bytewise. This is
slow (meh), but if q references a device register, things to bad very
quickly.
This patch works around this bug in the compiler by adding
__attribute__((aligned(4))) tags to some variables, or changing them
from uint8_t to uint32_t. Places doing this will now be caught as I've
added -Wcast-align to the compiler flags. That required adding (void
*) casts, after the relevant code was checked to make sure the
compiler could tell that the addresses were aligned.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| | | |
|
| | | |
|
| | |
| |
| |
| |
| |
| |
| | |
I'm sure this makes the function end up in-lined, which saves enough
text space to fit the flash loader in ROM again.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| | | |
|
| | | |
|
| | |
| |
| |
| | |
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| | | |
|
| |\ \ |
|
| | | | |
|
| | |\| |
|
| | | |
| | |
| | |
| | |
| | |
| | | |
This isn't done yet.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| | | |
| | |
| | |
| | | |
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| | | |
| | |
| | |
| | |
| | |
| | | |
We haven't finished this yet, so don't deliver firmware for it.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| | | |
| | |
| | |
| | | |
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Set spi slave DMA priority MOSI to HIGH and MISO to VERY_HIGH. Slave
SPI doesn't have the luxury of slowing down when the system is busy,
so provide it maximum memory bandwidth to try and keep up with the
master.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | | |
Make sure receive DMA is higher than any TX dma so that
it always runs in preference.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
When the MISO DMA priority is too low, and the processor gets busy,
it's possible for SPI input to overrun the processor, which causes the
MISO DMA to get out of sync and never finish. Set the MISO DMA
priority to HIGH to avoid this.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Instead of having nearly duplicate versions of the SPI DMA
configuration calls, create helper funcs that do most of the work so
that the SPI API funcs are shorter and clearer.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| | | |
| | |
| | |
| | |
| | |
| | | |
Provides a bit better typechecking opportunities for this function.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| | | |
| | |
| | |
| | | |
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Instead of trying to re-use the same file descriptor, close and
re-open the device each time around the loop to avoid getting stuck
when calibrating TeleMega boards.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The code to validate the usb id and product name had some debug hacks
left enabled, which caused it to fail. The short -f version of the
force flag was also not getting parsed correctly.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| | | |
| | |
| | |
| | |
| | |
| | | |
These make the script easier to use
Signed-off-by: Keith Packard <keithp@keithp.com>
|