aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
...
* Fixed diasterous bug with hfree.Josh Rahm2020-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 Rahm2020-11-22
|
* Large reorganization.Josh Rahm2020-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.cJosh Rahm2020-11-21
|
* Add the spi headers that define the SPI structure.Josh Rahm2020-11-21
|
* Fix mem.c to use the address of DATA_SEGMENT_START instead of the valueJosh Rahm2020-11-21
|
* Added halloc for allocating memory on the heap.Josh Rahm2020-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 Rahm2020-11-21
| | | | | This abstraction makes it much more intuitive to use the DMA features on the STM32L4 boards.
* Finally got a peripheral interrupt!Josh Rahm2020-11-20
|
* Move around the isr_vector files to be more consistent with the C standard ↵Josh Rahm2020-11-20
| | | | and the rest of the project.
* Added NVIC definitionJosh Rahm2020-11-20
|
* Change the SCB to use regset() macros.Josh Rahm2020-11-19
|
* change rcc & usart to use the regtest() macros and.Josh Rahm2020-11-19
|
* Change rcc.h to define regset() macros.Josh Rahm2020-11-18
|
* Add regset masks to gpio.hJosh Rahm2020-11-18
|
* Change dma.h over to a regset() strategy.Josh Rahm2020-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 Rahm2020-11-18
| | | | subdirectory.
* A basic blink program that works off of interrupts.Josh Rahm2020-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.cJosh Rahm2020-11-18
|
* Add primitive printf ability to usart.{h,c}.Josh Rahm2020-11-17
|
* add .gitignoreJosh Rahm2020-11-17
|
* Add the System Control Block (SCB) in system.h.Josh Rahm2020-11-17
|
* Changes to genmake.plJosh Rahm2020-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 Rahm2020-11-16
|
* Update the genmake script for tests.Josh Rahm2020-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 addJosh Rahm2020-11-16
| | | | | testing_harness with fake environment to allow testing on x86 development machines.
* Implemented more to do with printf.Josh Rahm2019-01-13
|
* Add primitive printf functionality to the USART.Josh Rahm2019-01-03
|
* Small changes in styling to separate bits by octets.Josh Rahm2018-01-24
|
* More fields in USART and RCC set to use bitfields.Josh Rahm2018-01-24
|
* start refactor process. Change rcc->c_r to bitfield.Josh Rahm2018-01-23
|
* rename folders to give notion of progressionJosh Rahm2018-01-23
|
* simple uart enabled.Josh Rahm2018-01-23
|
* VERY simple USART set up on USART2.Josh Rahm2018-01-22
|
* Added top level README.md.Josh Rahm2018-01-16
|
* added README for system-clockJosh Rahm2018-01-16
|
* Format all files and add a clang-format file.Josh Rahm2018-01-16
|
* remove unused functionsJosh Rahm2018-01-16
|
* added readme to helloJosh Rahm2018-01-16
|
* add the hello code to bootstrap.Josh Rahm2018-01-16
|
* able to set the clock speed in MHz.Josh Rahm2018-01-16
|
* added spin.*Josh Rahm2018-01-15
|
* use uint32_t for copying the data sections.Josh Rahm2018-01-15
|
* removed main.mapJosh Rahm2018-01-15
|
* added init routine that loads the data and bss sections into memory before ↵Josh Rahm2018-01-15
| | | | executing main.
* broke apart main.c into delay.* and isr_vector.*Josh Rahm2018-01-15
|
* fix bugs in genmake that make it always rerun all dependenciesJosh Rahm2018-01-15
|
* reorganize sources into src and include directories.Josh Rahm2018-01-15
|
* update the genmake system to put build files in their own directoriesJosh Rahm2018-01-15
|
* genmake now automatically generates new Makefile when file has been added.Josh Rahm2018-01-15
|