Commit message (Collapse) | Author | Age | ||
---|---|---|---|---|
... | ||||
* | Fixed diasterous bug with hfree. | Josh Rahm | 2020-11-22 | |
| | | | | | | Before this fix, hfree would neglect to set the prev pointer in the next used block and such was leaving the prev pointers invalid after coalescing frees. | |||
* | Change test output to display the [PASS] before the test name. | Josh Rahm | 2020-11-22 | |
| | ||||
* | Large reorganization. | Josh Rahm | 2020-11-22 | |
| | | | | | | | | | | | | | | | | | | | | | | What was in core/ is now moved to arch/stm34l4xxx/peripherals. This new directory is *supposed to* to contain raw header files defining just the pertinent register structures for the various peripherals. Peripheral management belongs somewhere in the new `kern/..` directories. This is not completely the case at the moment, so more refactoring needs to be done. What was sitting in the root has now been moved into the kern/ directory. The kern/ directory is to contain everything else other than raw device register definitions. The root of the kern/ tree is reserved for standard library-esque headers. The kern/<peripheral> directory contains management systems for that peripheral. (At the moment DMA is the only peripheral with a decent management system.) Preferably these peripheral systems should only include their correlating header in arch/stm34l4xxx/peripherals, and use other management systems for handling other peripherals rather than manipulating their raw registers directly. (Though this ideal will require much more critical mass of management systems.) | |||
* | Some comment-changes to mem.c | Josh Rahm | 2020-11-21 | |
| | ||||
* | Add the spi headers that define the SPI structure. | Josh Rahm | 2020-11-21 | |
| | ||||
* | Fix mem.c to use the address of DATA_SEGMENT_START instead of the value | Josh Rahm | 2020-11-21 | |
| | ||||
* | Added halloc for allocating memory on the heap. | Josh Rahm | 2020-11-21 | |
| | | | | | | | | | | | The new halloc() call allocates memory on the STM32l's SRAM2 starting right above the DATA section. The implementation uses a very-dense, albeit slower, linked-list allocation as opposed to fancy B-trees or something. However, the overhead is just 1 32-bit word per allocation and thus allows for reasonably dense memory-packing on the small 16K memory chip. | |||
* | Implemented DMA abstraction in the peri/dma.c source file. | Josh Rahm | 2020-11-21 | |
| | | | | | This abstraction makes it much more intuitive to use the DMA features on the STM32L4 boards. | |||
* | Finally got a peripheral interrupt! | Josh Rahm | 2020-11-20 | |
| | ||||
* | Move around the isr_vector files to be more consistent with the C standard ↵ | Josh Rahm | 2020-11-20 | |
| | | | | and the rest of the project. | |||
* | Added NVIC definition | Josh Rahm | 2020-11-20 | |
| | ||||
* | Change the SCB to use regset() macros. | Josh Rahm | 2020-11-19 | |
| | ||||
* | change rcc & usart to use the regtest() macros and. | Josh Rahm | 2020-11-19 | |
| | ||||
* | Change rcc.h to define regset() macros. | Josh Rahm | 2020-11-18 | |
| | ||||
* | Add regset masks to gpio.h | Josh Rahm | 2020-11-18 | |
| | ||||
* | Change dma.h over to a regset() strategy. | Josh Rahm | 2020-11-18 | |
| | | | | | | Apparently people really don't like bitfields in practice, so I have devised a compromise to retain some readability while using bitmasks instead by writing a regset() macro. | |||
* | Reorganize some file. Put thte core register libraries in a core/ | Josh Rahm | 2020-11-18 | |
| | | | | subdirectory. | |||
* | A basic blink program that works off of interrupts. | Josh Rahm | 2020-11-18 | |
| | | | | | | | | | | | - The init() function renamed to on_reset() - on_reset() now responsible for tight-looping at the end - on_reset() now set the VTable offset to the base of the FLASH - included exhaustive list of irqs in isrs.i - interrupt routines by default flash a code indicating their isr number. - interrupt routines are weak-linked allowing the programmer to override them at-will. | |||
* | add lib.h/lib.c | Josh Rahm | 2020-11-18 | |
| | ||||
* | Add primitive printf ability to usart.{h,c}. | Josh Rahm | 2020-11-17 | |
| | ||||
* | add .gitignore | Josh Rahm | 2020-11-17 | |
| | ||||
* | Add the System Control Block (SCB) in system.h. | Josh Rahm | 2020-11-17 | |
| | ||||
* | Changes to genmake.pl | Josh Rahm | 2020-11-17 | |
| | | | | | | | | - genmake.pl now handles generating the idempotency hash rather than relying on a less-portable bash command. - genmake.pl now recursively looks for *.c files in src/ and tests/ so the directory structure no longer needs to be flat. | |||
* | Got the DMA to send a simple message through UART2. | Josh Rahm | 2020-11-16 | |
| | ||||
* | Update the genmake script for tests. | Josh Rahm | 2020-11-16 | |
| | | | | | | | | Update the genmake script to do the following: - Fix bug to link the object files from the source. - Test build output goes into a build/ directory. - Test makefile rules now run the test after building. | |||
* | Add DMA header file which defines the DMA registers and add | Josh Rahm | 2020-11-16 | |
| | | | | | testing_harness with fake environment to allow testing on x86 development machines. | |||
* | Implemented more to do with printf. | Josh Rahm | 2019-01-13 | |
| | ||||
* | Add primitive printf functionality to the USART. | Josh Rahm | 2019-01-03 | |
| | ||||
* | Small changes in styling to separate bits by octets. | Josh Rahm | 2018-01-24 | |
| | ||||
* | More fields in USART and RCC set to use bitfields. | Josh Rahm | 2018-01-24 | |
| | ||||
* | start refactor process. Change rcc->c_r to bitfield. | Josh Rahm | 2018-01-23 | |
| | ||||
* | rename folders to give notion of progression | Josh Rahm | 2018-01-23 | |
| | ||||
* | simple uart enabled. | Josh Rahm | 2018-01-23 | |
| | ||||
* | VERY simple USART set up on USART2. | Josh Rahm | 2018-01-22 | |
| | ||||
* | Added top level README.md. | Josh Rahm | 2018-01-16 | |
| | ||||
* | added README for system-clock | Josh Rahm | 2018-01-16 | |
| | ||||
* | Format all files and add a clang-format file. | Josh Rahm | 2018-01-16 | |
| | ||||
* | remove unused functions | Josh Rahm | 2018-01-16 | |
| | ||||
* | added readme to hello | Josh Rahm | 2018-01-16 | |
| | ||||
* | add the hello code to bootstrap. | Josh Rahm | 2018-01-16 | |
| | ||||
* | able to set the clock speed in MHz. | Josh Rahm | 2018-01-16 | |
| | ||||
* | added spin.* | Josh Rahm | 2018-01-15 | |
| | ||||
* | use uint32_t for copying the data sections. | Josh Rahm | 2018-01-15 | |
| | ||||
* | removed main.map | Josh Rahm | 2018-01-15 | |
| | ||||
* | added init routine that loads the data and bss sections into memory before ↵ | Josh Rahm | 2018-01-15 | |
| | | | | executing main. | |||
* | broke apart main.c into delay.* and isr_vector.* | Josh Rahm | 2018-01-15 | |
| | ||||
* | fix bugs in genmake that make it always rerun all dependencies | Josh Rahm | 2018-01-15 | |
| | ||||
* | reorganize sources into src and include directories. | Josh Rahm | 2018-01-15 | |
| | ||||
* | update the genmake system to put build files in their own directories | Josh Rahm | 2018-01-15 | |
| | ||||
* | genmake now automatically generates new Makefile when file has been added. | Josh Rahm | 2018-01-15 | |
| |