42278795d8
gitignore: add *.d
2022-05-17 10:18:23 -07:00
e39cdc5709
arm: async uart writes & fixes
2022-05-17 10:17:56 -07:00
e9f623e754
arm: cut bootloader dependency on uart stuff
2022-05-17 09:23:11 -07:00
d4e9e133b6
gitignore: add tags
2022-05-16 20:59:17 -07:00
574e48474b
arm: clang-format
2022-05-16 20:59:17 -07:00
932b8d4582
arm: async echo app
2022-05-16 20:59:17 -07:00
30d9a2d7c8
add alchitry loader
2022-05-16 20:59:17 -07:00
0226d314ec
arm: makefile improvements
2022-05-16 20:59:16 -07:00
d7a8f5b26d
arm: fix linking c++ stuff
2022-05-16 20:59:16 -07:00
cd0de0943b
arm: fix app linker script
2022-05-16 20:59:16 -07:00
30eabe90c2
arm: add vivado helper scripts
2022-05-10 11:41:10 -07:00
b8b0d94065
arm: working bootloader, example app
...
'make' will produce two outputs:
- bootloader.elf to be loaded into the bitstream
- app.bin to be loaded through the programmer
Loading app.bin is as simple as:
- reset the board
- `python3 prog.py app.bin`
2022-05-10 11:20:02 -07:00
43d245bae2
arm: add uart echo app
2022-05-08 20:55:58 -07:00
dae76c4e17
arm: fix initial stack pointer
2022-05-08 20:55:01 -07:00
f3d875b4ac
gitignore: *.elf
2022-05-08 20:53:39 -07:00
d83d42fb60
Add ARM basic bootloader build
2022-05-07 23:00:22 -07:00
47059c1c15
Add vivado base project submodule
2022-05-07 21:44:45 -07:00
d726014c6c
gitignore: add *.pyc
2022-05-07 11:35:49 -07:00
f27edd36d7
as: fix empty param list
...
nop was failing
2022-05-07 11:34:35 -07:00
1a88bebf82
tools: remove hardcoded references to paths
2022-05-07 11:33:45 -07:00
Paul Mathieu
2bfced6a2b
dsp: update test
2021-07-26 00:04:53 -07:00
Paul Mathieu
5948622212
dsp: add sample programs
2021-07-26 00:03:56 -07:00
Paul Mathieu
57984c093d
dsp: add midi synth program
2021-07-26 00:03:32 -07:00
Paul Mathieu
ef9a154681
cc: add const arrays (wip)
...
Add a preliminary version of const arrays. It sorta works.
Right now this is limited to function-scope const arrays.
2021-07-26 00:02:14 -07:00
Paul Mathieu
e7bab6e9e6
dsp: add uart1 at 31250 baud for midi support
2021-07-26 00:00:26 -07:00
Paul Mathieu
b01d6a4873
cc: fix bug with regbank snap
2021-07-25 23:58:17 -07:00
Paul Mathieu
8dfa5addfd
cc: add shr
2021-07-25 23:55:36 -07:00
Paul Mathieu
edb4161724
cc: typo in grammar
2021-07-25 23:52:58 -07:00
Paul Mathieu
112b593660
uart: RX adaptive clock and over sampling
...
Now sampling 3 times per bit and shifting the clock accordingly.
Had to split the rx and tx clocks.
2021-07-25 23:50:53 -07:00
Paul Mathieu
1d69c453a8
uart: make baudrate a generic
2021-07-25 23:50:09 -07:00
Paul Mathieu
1d36528b2c
dsp: add missing test boot rom template
2021-04-24 08:58:42 -07:00
Paul Mathieu
194659c4b9
dsp: adjust output volume for earbuds
2021-04-24 08:58:18 -07:00
Paul Mathieu
67634ca178
dsp: refactor test
2021-04-24 08:57:55 -07:00
Paul Mathieu
71212cde2d
cc: fix loaded variables after if block
2021-04-24 08:56:51 -07:00
Paul Mathieu
84cbd185bb
sysbus: fix concurrent read & writes
2021-04-24 08:55:51 -07:00
Paul Mathieu
3294e7082b
wave: fix write to busy sysbus
2021-04-24 08:55:23 -07:00
Paul Mathieu
c12c28fb44
dsp: add bootloader
...
It works!!
2021-04-17 23:13:20 -07:00
Paul Mathieu
a864ca3d7e
dsp: allow fetching instructions from SRAM
2021-04-17 23:11:04 -07:00
Paul Mathieu
102e9cbd07
uart: fix synthesis warnings
2021-04-17 23:07:56 -07:00
Paul Mathieu
0e6a311610
ld: allow linking to a different offset
2021-04-17 23:05:02 -07:00
Paul Mathieu
2ab6b4a5a9
cc: add += and function pointers
2021-04-17 23:04:30 -07:00
Paul Mathieu
36bc1417b6
cpu: more instruction pipelining
...
This is needed to make WNS room for fetching instructions from SRAM.
2021-04-17 23:02:58 -07:00
Paul Mathieu
6825ce464f
cc: fix load bug
2021-03-20 21:49:40 -07:00
Paul Mathieu
a4005ade77
dsp: small refactor
2021-03-20 21:27:36 -07:00
Paul Mathieu
ef81ec3b12
cc: mostly fixed function calls
2021-03-20 21:27:26 -07:00
Paul Mathieu
eb303641d9
cc: fix typo
2021-03-20 21:25:01 -07:00
Paul Mathieu
f7b7118278
dsp: non-functional code. needs funcall refactor in cc
2021-03-18 20:14:00 -07:00
Paul Mathieu
b70cdd13c4
Add partial support for 8-bit loads
...
We're big-endian.
when we have this in memory:
00 01 02 03
And we need the first byte, we load the first 16-bit word:
0x0001
The first byte is then in the upper part of the word, and requires
a right shift by 8.
So any load into an 8-bit typed container needs to shift stuff.
So far, stores from/to the stack are exempted, they always load/store
full 16-bit words.
And a few othe rminor things. Like string null terminators.
And escaped characters in character literals.
Can you believe it's spelled 'literal', with a single t?
Me neither.
2021-03-18 08:35:23 -07:00
Paul Mathieu
5612f23181
dsp: flash these LEDs
2021-03-14 18:09:05 -07:00
Paul Mathieu
38542f4431
dsp: add make target for bitstream
2021-03-14 18:08:53 -07:00