From be56bce326f90e80c0f6aeb862fd5264bf2a66fa Mon Sep 17 00:00:00 2001 From: ayabusa Date: Sun, 21 Apr 2024 14:08:27 +0200 Subject: [PATCH] reorganized repo --- .OLDSTUFF/README.md | 37 ++ .../base_nucleo}/Makefile | 0 .../base_nucleo}/build/core.o | Bin .../base_nucleo}/build/main.bin | Bin .../base_nucleo}/build/main.elf | Bin .../base_nucleo}/build/main.o | Bin .../base_nucleo}/build/vector_table.o | Bin .../base_nucleo}/src/core.S | 0 .../base_nucleo}/src/device/cmsis_gcc.h | 0 .../base_nucleo}/src/device/core_cm4.h | 0 .../base_nucleo}/src/device/core_cmFunc.h | 0 .../base_nucleo}/src/device/core_cmInstr.h | 0 .../base_nucleo}/src/device/core_cmSimd.h | 0 .../base_nucleo}/src/device/stm32f4xx.h | 0 .../src/device/system_stm32f4xx.h | 0 .../base_nucleo}/src/linker.ld | 0 .../base_nucleo}/src/main.c | 0 .../base_nucleo}/src/main.h | 0 .../base_nucleo}/src/vector_table.S | 0 numworks_port/Makefile => Makefile | 0 README.md | 56 +- .../build => build}/Laplace/clock.o | Bin .../build => build}/Laplace/gpio_helper.o | Bin .../build => build}/Laplace/keyboard.o | Bin .../build => build}/Laplace/laplace.o | Bin {numworks_port/build => build}/Laplace/led.o | Bin {numworks_port/build => build}/Laplace/time.o | Bin {numworks_port/build => build}/info_headers.o | Bin {numworks_port/build => build}/main.bin | Bin {numworks_port/build => build}/main.elf | Bin {numworks_port/build => build}/main.o | Bin .../build => build}/start_handler.o | Bin {numworks_port/build => build}/vector_table.o | Bin chatgpt-try/firmware.ld | 28 - chatgpt-try/main.c | 5 - chatgpt-try/startup_stm32f730xx.s | 538 ------------------ numworks_port/README.md | 23 - {numworks_port/src => src}/Laplace/README.md | 0 {numworks_port/src => src}/Laplace/clock.c | 0 {numworks_port/src => src}/Laplace/clock.h | 0 .../src => src}/Laplace/gpio_helper.c | 0 .../src => src}/Laplace/gpio_helper.h | 0 {numworks_port/src => src}/Laplace/keyboard.c | 0 {numworks_port/src => src}/Laplace/keyboard.h | 0 {numworks_port/src => src}/Laplace/laplace.c | 0 {numworks_port/src => src}/Laplace/laplace.h | 0 {numworks_port/src => src}/Laplace/led.c | 0 {numworks_port/src => src}/Laplace/led.h | 0 {numworks_port/src => src}/Laplace/time.c | 0 {numworks_port/src => src}/Laplace/time.h | 0 {numworks_port/src => src}/device/cmsis_gcc.h | 0 {numworks_port/src => src}/device/core_cm7.h | 0 .../src => src}/device/core_cmFunc.h | 0 .../src => src}/device/core_cmInstr.h | 0 .../src => src}/device/core_cmSimd.h | 0 .../src => src}/device/stm32f730xx.h | 0 {numworks_port/src => src}/device/stm32f7xx.h | 0 .../src => src}/device/system_stm32f7xx.h | 0 {numworks_port/src => src}/info_headers.cpp | 0 {numworks_port/src => src}/linker.ld | 0 {numworks_port/src => src}/main.c | 0 {numworks_port/src => src}/main.h | 0 {numworks_port/src => src}/start_handler.cpp | 0 {numworks_port/src => src}/vector_table.cpp | 0 {numworks_port/src => src}/vector_table.h | 0 65 files changed, 58 insertions(+), 629 deletions(-) create mode 100644 .OLDSTUFF/README.md rename {base_nucleo => .OLDSTUFF/base_nucleo}/Makefile (100%) rename {base_nucleo => .OLDSTUFF/base_nucleo}/build/core.o (100%) rename {base_nucleo => .OLDSTUFF/base_nucleo}/build/main.bin (100%) rename {base_nucleo => .OLDSTUFF/base_nucleo}/build/main.elf (100%) rename {base_nucleo => .OLDSTUFF/base_nucleo}/build/main.o (100%) rename {base_nucleo => .OLDSTUFF/base_nucleo}/build/vector_table.o (100%) rename {base_nucleo => .OLDSTUFF/base_nucleo}/src/core.S (100%) rename {base_nucleo => .OLDSTUFF/base_nucleo}/src/device/cmsis_gcc.h (100%) rename {base_nucleo => .OLDSTUFF/base_nucleo}/src/device/core_cm4.h (100%) rename {base_nucleo => .OLDSTUFF/base_nucleo}/src/device/core_cmFunc.h (100%) rename {base_nucleo => .OLDSTUFF/base_nucleo}/src/device/core_cmInstr.h (100%) rename {base_nucleo => .OLDSTUFF/base_nucleo}/src/device/core_cmSimd.h (100%) rename {base_nucleo => .OLDSTUFF/base_nucleo}/src/device/stm32f4xx.h (100%) rename {base_nucleo => .OLDSTUFF/base_nucleo}/src/device/system_stm32f4xx.h (100%) rename {base_nucleo => .OLDSTUFF/base_nucleo}/src/linker.ld (100%) rename {base_nucleo => .OLDSTUFF/base_nucleo}/src/main.c (100%) rename {base_nucleo => .OLDSTUFF/base_nucleo}/src/main.h (100%) rename {base_nucleo => .OLDSTUFF/base_nucleo}/src/vector_table.S (100%) rename numworks_port/Makefile => Makefile (100%) rename {numworks_port/build => build}/Laplace/clock.o (100%) rename {numworks_port/build => build}/Laplace/gpio_helper.o (100%) rename {numworks_port/build => build}/Laplace/keyboard.o (100%) rename {numworks_port/build => build}/Laplace/laplace.o (100%) rename {numworks_port/build => build}/Laplace/led.o (100%) rename {numworks_port/build => build}/Laplace/time.o (100%) rename {numworks_port/build => build}/info_headers.o (100%) rename {numworks_port/build => build}/main.bin (100%) rename {numworks_port/build => build}/main.elf (100%) rename {numworks_port/build => build}/main.o (100%) rename {numworks_port/build => build}/start_handler.o (100%) rename {numworks_port/build => build}/vector_table.o (100%) delete mode 100644 chatgpt-try/firmware.ld delete mode 100644 chatgpt-try/main.c delete mode 100644 chatgpt-try/startup_stm32f730xx.s delete mode 100644 numworks_port/README.md rename {numworks_port/src => src}/Laplace/README.md (100%) rename {numworks_port/src => src}/Laplace/clock.c (100%) rename {numworks_port/src => src}/Laplace/clock.h (100%) rename {numworks_port/src => src}/Laplace/gpio_helper.c (100%) rename {numworks_port/src => src}/Laplace/gpio_helper.h (100%) rename {numworks_port/src => src}/Laplace/keyboard.c (100%) rename {numworks_port/src => src}/Laplace/keyboard.h (100%) rename {numworks_port/src => src}/Laplace/laplace.c (100%) rename {numworks_port/src => src}/Laplace/laplace.h (100%) rename {numworks_port/src => src}/Laplace/led.c (100%) rename {numworks_port/src => src}/Laplace/led.h (100%) rename {numworks_port/src => src}/Laplace/time.c (100%) rename {numworks_port/src => src}/Laplace/time.h (100%) rename {numworks_port/src => src}/device/cmsis_gcc.h (100%) rename {numworks_port/src => src}/device/core_cm7.h (100%) rename {numworks_port/src => src}/device/core_cmFunc.h (100%) rename {numworks_port/src => src}/device/core_cmInstr.h (100%) rename {numworks_port/src => src}/device/core_cmSimd.h (100%) rename {numworks_port/src => src}/device/stm32f730xx.h (100%) rename {numworks_port/src => src}/device/stm32f7xx.h (100%) rename {numworks_port/src => src}/device/system_stm32f7xx.h (100%) rename {numworks_port/src => src}/info_headers.cpp (100%) rename {numworks_port/src => src}/linker.ld (100%) rename {numworks_port/src => src}/main.c (100%) rename {numworks_port/src => src}/main.h (100%) rename {numworks_port/src => src}/start_handler.cpp (100%) rename {numworks_port/src => src}/vector_table.cpp (100%) rename {numworks_port/src => src}/vector_table.h (100%) diff --git a/.OLDSTUFF/README.md b/.OLDSTUFF/README.md new file mode 100644 index 0000000..ed8f898 --- /dev/null +++ b/.OLDSTUFF/README.md @@ -0,0 +1,37 @@ +# Nucleo-bare-metal +[WIP] my attempts to develop on my stm32 nuclo board +## Building +1. Install [gnu-arm-none-eabi](https://developer.arm.com/downloads/-/arm-gnu-toolchain-downloads) toolchain +2. Clone the repo +``` +git clone "https://github.com/ayabusa/Nucleo-bare-metal.git" +cd Nucleo-bare-metal +``` +3. Build the project (located in build/main.elf) +``` +make all +``` +## Running/Debuging +```shell +st-util # Download at https://github.com/stlink-org/stlink, it launches the gdb server, port 4242 +gdb-multiarch main.elf # launch the gdb instance +(gdb) target extended-remote :4242 # connect to the st-util server +(gdb) load # load our binary +(gdb) continue # run it +``` +## Licence +``` +All Rights Reserved + +Copyright (c) 2024 ayabusa + +Created by ayabusa + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +``` diff --git a/base_nucleo/Makefile b/.OLDSTUFF/base_nucleo/Makefile similarity index 100% rename from base_nucleo/Makefile rename to .OLDSTUFF/base_nucleo/Makefile diff --git a/base_nucleo/build/core.o b/.OLDSTUFF/base_nucleo/build/core.o similarity index 100% rename from base_nucleo/build/core.o rename to .OLDSTUFF/base_nucleo/build/core.o diff --git a/base_nucleo/build/main.bin b/.OLDSTUFF/base_nucleo/build/main.bin similarity index 100% rename from base_nucleo/build/main.bin rename to .OLDSTUFF/base_nucleo/build/main.bin diff --git a/base_nucleo/build/main.elf b/.OLDSTUFF/base_nucleo/build/main.elf similarity index 100% rename from base_nucleo/build/main.elf rename to .OLDSTUFF/base_nucleo/build/main.elf diff --git a/base_nucleo/build/main.o b/.OLDSTUFF/base_nucleo/build/main.o similarity index 100% rename from base_nucleo/build/main.o rename to .OLDSTUFF/base_nucleo/build/main.o diff --git a/base_nucleo/build/vector_table.o b/.OLDSTUFF/base_nucleo/build/vector_table.o similarity index 100% rename from base_nucleo/build/vector_table.o rename to .OLDSTUFF/base_nucleo/build/vector_table.o diff --git a/base_nucleo/src/core.S b/.OLDSTUFF/base_nucleo/src/core.S similarity index 100% rename from base_nucleo/src/core.S rename to .OLDSTUFF/base_nucleo/src/core.S diff --git a/base_nucleo/src/device/cmsis_gcc.h b/.OLDSTUFF/base_nucleo/src/device/cmsis_gcc.h similarity index 100% rename from base_nucleo/src/device/cmsis_gcc.h rename to .OLDSTUFF/base_nucleo/src/device/cmsis_gcc.h diff --git a/base_nucleo/src/device/core_cm4.h b/.OLDSTUFF/base_nucleo/src/device/core_cm4.h similarity index 100% rename from base_nucleo/src/device/core_cm4.h rename to .OLDSTUFF/base_nucleo/src/device/core_cm4.h diff --git a/base_nucleo/src/device/core_cmFunc.h b/.OLDSTUFF/base_nucleo/src/device/core_cmFunc.h similarity index 100% rename from base_nucleo/src/device/core_cmFunc.h rename to .OLDSTUFF/base_nucleo/src/device/core_cmFunc.h diff --git a/base_nucleo/src/device/core_cmInstr.h b/.OLDSTUFF/base_nucleo/src/device/core_cmInstr.h similarity index 100% rename from base_nucleo/src/device/core_cmInstr.h rename to .OLDSTUFF/base_nucleo/src/device/core_cmInstr.h diff --git a/base_nucleo/src/device/core_cmSimd.h b/.OLDSTUFF/base_nucleo/src/device/core_cmSimd.h similarity index 100% rename from base_nucleo/src/device/core_cmSimd.h rename to .OLDSTUFF/base_nucleo/src/device/core_cmSimd.h diff --git a/base_nucleo/src/device/stm32f4xx.h b/.OLDSTUFF/base_nucleo/src/device/stm32f4xx.h similarity index 100% rename from base_nucleo/src/device/stm32f4xx.h rename to .OLDSTUFF/base_nucleo/src/device/stm32f4xx.h diff --git a/base_nucleo/src/device/system_stm32f4xx.h b/.OLDSTUFF/base_nucleo/src/device/system_stm32f4xx.h similarity index 100% rename from base_nucleo/src/device/system_stm32f4xx.h rename to .OLDSTUFF/base_nucleo/src/device/system_stm32f4xx.h diff --git a/base_nucleo/src/linker.ld b/.OLDSTUFF/base_nucleo/src/linker.ld similarity index 100% rename from base_nucleo/src/linker.ld rename to .OLDSTUFF/base_nucleo/src/linker.ld diff --git a/base_nucleo/src/main.c b/.OLDSTUFF/base_nucleo/src/main.c similarity index 100% rename from base_nucleo/src/main.c rename to .OLDSTUFF/base_nucleo/src/main.c diff --git a/base_nucleo/src/main.h b/.OLDSTUFF/base_nucleo/src/main.h similarity index 100% rename from base_nucleo/src/main.h rename to .OLDSTUFF/base_nucleo/src/main.h diff --git a/base_nucleo/src/vector_table.S b/.OLDSTUFF/base_nucleo/src/vector_table.S similarity index 100% rename from base_nucleo/src/vector_table.S rename to .OLDSTUFF/base_nucleo/src/vector_table.S diff --git a/numworks_port/Makefile b/Makefile similarity index 100% rename from numworks_port/Makefile rename to Makefile diff --git a/README.md b/README.md index ed8f898..7886509 100644 --- a/README.md +++ b/README.md @@ -1,37 +1,23 @@ -# Nucleo-bare-metal -[WIP] my attempts to develop on my stm32 nuclo board -## Building -1. Install [gnu-arm-none-eabi](https://developer.arm.com/downloads/-/arm-gnu-toolchain-downloads) toolchain -2. Clone the repo -``` -git clone "https://github.com/ayabusa/Nucleo-bare-metal.git" -cd Nucleo-bare-metal -``` -3. Build the project (located in build/main.elf) -``` -make all -``` -## Running/Debuging -```shell -st-util # Download at https://github.com/stlink-org/stlink, it launches the gdb server, port 4242 -gdb-multiarch main.elf # launch the gdb instance -(gdb) target extended-remote :4242 # connect to the st-util server -(gdb) load # load our binary -(gdb) continue # run it -``` -## Licence -``` -All Rights Reserved +# Zeta (name that might change) +This is a bare metal os attempt on the numworks n0110 -Copyright (c) 2024 ayabusa +## Build +1. Download the arm-none-eabi toolchain +2. run ```make clean && make``` +3. the output file is located in build/main.bin +4. you can flash it to slot B using the Web DFU from TI Planet, or by using the command ```make flash``` (unstable) +5. That's it ! -Created by ayabusa - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. -``` +## TODO/roadmap +### Zeta bare minimum +- [x] Working thing +- [x] Led interface +- [x] Keyboard interface +- [x] Set clock and all + - [x] adapt ms_wait() and us_wait() +- [ ] Screen interface +- [ ] UI toolkit + - [ ] set pixel + - [ ] text display + - [ ] fill rect + - [ ] image display \ No newline at end of file diff --git a/numworks_port/build/Laplace/clock.o b/build/Laplace/clock.o similarity index 100% rename from numworks_port/build/Laplace/clock.o rename to build/Laplace/clock.o diff --git a/numworks_port/build/Laplace/gpio_helper.o b/build/Laplace/gpio_helper.o similarity index 100% rename from numworks_port/build/Laplace/gpio_helper.o rename to build/Laplace/gpio_helper.o diff --git a/numworks_port/build/Laplace/keyboard.o b/build/Laplace/keyboard.o similarity index 100% rename from numworks_port/build/Laplace/keyboard.o rename to build/Laplace/keyboard.o diff --git a/numworks_port/build/Laplace/laplace.o b/build/Laplace/laplace.o similarity index 100% rename from numworks_port/build/Laplace/laplace.o rename to build/Laplace/laplace.o diff --git a/numworks_port/build/Laplace/led.o b/build/Laplace/led.o similarity index 100% rename from numworks_port/build/Laplace/led.o rename to build/Laplace/led.o diff --git a/numworks_port/build/Laplace/time.o b/build/Laplace/time.o similarity index 100% rename from numworks_port/build/Laplace/time.o rename to build/Laplace/time.o diff --git a/numworks_port/build/info_headers.o b/build/info_headers.o similarity index 100% rename from numworks_port/build/info_headers.o rename to build/info_headers.o diff --git a/numworks_port/build/main.bin b/build/main.bin similarity index 100% rename from numworks_port/build/main.bin rename to build/main.bin diff --git a/numworks_port/build/main.elf b/build/main.elf similarity index 100% rename from numworks_port/build/main.elf rename to build/main.elf diff --git a/numworks_port/build/main.o b/build/main.o similarity index 100% rename from numworks_port/build/main.o rename to build/main.o diff --git a/numworks_port/build/start_handler.o b/build/start_handler.o similarity index 100% rename from numworks_port/build/start_handler.o rename to build/start_handler.o diff --git a/numworks_port/build/vector_table.o b/build/vector_table.o similarity index 100% rename from numworks_port/build/vector_table.o rename to build/vector_table.o diff --git a/chatgpt-try/firmware.ld b/chatgpt-try/firmware.ld deleted file mode 100644 index 430e1ca..0000000 --- a/chatgpt-try/firmware.ld +++ /dev/null @@ -1,28 +0,0 @@ -ENTRY(Reset_Handler) - -MEMORY -{ - FLASH (rx) : ORIGIN = 0x08000000, LENGTH = 512K - RAM (rwx) : ORIGIN = 0x20000000, LENGTH = 256K -} - -SECTIONS -{ - .text : - { - *(.text) - *(.text.*) - } > FLASH - - .data : - { - *(.data) - *(.data.*) - } > RAM AT > FLASH - - .bss : - { - *(.bss) - *(.bss.*) - } > RAM -} \ No newline at end of file diff --git a/chatgpt-try/main.c b/chatgpt-try/main.c deleted file mode 100644 index 5853565..0000000 --- a/chatgpt-try/main.c +++ /dev/null @@ -1,5 +0,0 @@ -// Minimal main.c file -int main() { - // Your code here - return 0; -} \ No newline at end of file diff --git a/chatgpt-try/startup_stm32f730xx.s b/chatgpt-try/startup_stm32f730xx.s deleted file mode 100644 index 4affc2e..0000000 --- a/chatgpt-try/startup_stm32f730xx.s +++ /dev/null @@ -1,538 +0,0 @@ -/** - ****************************************************************************** - * @file startup_stm32f730xx.s - * @author MCD Application Team - * @brief STM32F730xx Devices vector table for GCC based toolchain. - * This module performs: - * - Set the initial SP - * - Set the initial PC == Reset_Handler, - * - Set the vector table entries with the exceptions ISR address - * - Branches to main in the C library (which eventually - * calls main()). - * After Reset the Cortex-M7 processor is in Thread mode, - * priority is Privileged, and the Stack is set to Main. - ****************************************************************************** - * @attention - * - * Copyright (c) 2016 STMicroelectronics. - * All rights reserved. - * - * This software is licensed under terms that can be found in the LICENSE file - * in the root directory of this software component. - * If no LICENSE file comes with this software, it is provided AS-IS. - * - ****************************************************************************** - */ - - .syntax unified - .cpu cortex-m7 - .fpu softvfp - .thumb - -.global g_pfnVectors -.global Default_Handler - -/* start address for the initialization values of the .data section. -defined in linker script */ -.word _sidata -/* start address for the .data section. defined in linker script */ -.word _sdata -/* end address for the .data section. defined in linker script */ -.word _edata -/* start address for the .bss section. defined in linker script */ -.word _sbss -/* end address for the .bss section. defined in linker script */ -.word _ebss -/* stack used for SystemInit_ExtMemCtl; always internal RAM used */ - -/** - * @brief This is the code that gets called when the processor first - * starts execution following a reset event. Only the absolutely - * necessary set is performed, after which the application - * supplied main() routine is called. - * @param None - * @retval : None -*/ - - .section .text.Reset_Handler - .weak Reset_Handler - .type Reset_Handler, %function -Reset_Handler: - ldr sp, =_estack /* set stack pointer */ - -/* Copy the data segment initializers from flash to SRAM */ - ldr r0, =_sdata - ldr r1, =_edata - ldr r2, =_sidata - movs r3, #0 - b LoopCopyDataInit - -CopyDataInit: - ldr r4, [r2, r3] - str r4, [r0, r3] - adds r3, r3, #4 - -LoopCopyDataInit: - adds r4, r0, r3 - cmp r4, r1 - bcc CopyDataInit - -/* Zero fill the bss segment. */ - ldr r2, =_sbss - ldr r4, =_ebss - movs r3, #0 - b LoopFillZerobss - -FillZerobss: - str r3, [r2] - adds r2, r2, #4 - -LoopFillZerobss: - cmp r2, r4 - bcc FillZerobss - -/* Call the clock system intitialization function.*/ - bl SystemInit -/* Call static constructors */ - bl __libc_init_array -/* Call the application's entry point.*/ - bl main - bx lr -.size Reset_Handler, .-Reset_Handler - -/** - * @brief This is the code that gets called when the processor receives an - * unexpected interrupt. This simply enters an infinite loop, preserving - * the system state for examination by a debugger. - * @param None - * @retval None -*/ - .section .text.Default_Handler,"ax",%progbits -Default_Handler: -Infinite_Loop: - b Infinite_Loop - .size Default_Handler, .-Default_Handler -/****************************************************************************** -* -* The minimal vector table for a Cortex M7. Note that the proper constructs -* must be placed on this to ensure that it ends up at physical address -* 0x0000.0000. -* -*******************************************************************************/ - .section .isr_vector,"a",%progbits - .type g_pfnVectors, %object - .size g_pfnVectors, .-g_pfnVectors - - -g_pfnVectors: - .word _estack - .word Reset_Handler - - .word NMI_Handler - .word HardFault_Handler - .word MemManage_Handler - .word BusFault_Handler - .word UsageFault_Handler - .word 0 - .word 0 - .word 0 - .word 0 - .word SVC_Handler - .word DebugMon_Handler - .word 0 - .word PendSV_Handler - .word SysTick_Handler - - /* External Interrupts */ - .word WWDG_IRQHandler /* Window WatchDog */ - .word PVD_IRQHandler /* PVD through EXTI Line detection */ - .word TAMP_STAMP_IRQHandler /* Tamper and TimeStamps through the EXTI line */ - .word RTC_WKUP_IRQHandler /* RTC Wakeup through the EXTI line */ - .word FLASH_IRQHandler /* FLASH */ - .word RCC_IRQHandler /* RCC */ - .word EXTI0_IRQHandler /* EXTI Line0 */ - .word EXTI1_IRQHandler /* EXTI Line1 */ - .word EXTI2_IRQHandler /* EXTI Line2 */ - .word EXTI3_IRQHandler /* EXTI Line3 */ - .word EXTI4_IRQHandler /* EXTI Line4 */ - .word DMA1_Stream0_IRQHandler /* DMA1 Stream 0 */ - .word DMA1_Stream1_IRQHandler /* DMA1 Stream 1 */ - .word DMA1_Stream2_IRQHandler /* DMA1 Stream 2 */ - .word DMA1_Stream3_IRQHandler /* DMA1 Stream 3 */ - .word DMA1_Stream4_IRQHandler /* DMA1 Stream 4 */ - .word DMA1_Stream5_IRQHandler /* DMA1 Stream 5 */ - .word DMA1_Stream6_IRQHandler /* DMA1 Stream 6 */ - .word ADC_IRQHandler /* ADC1, ADC2 and ADC3s */ - .word CAN1_TX_IRQHandler /* CAN1 TX */ - .word CAN1_RX0_IRQHandler /* CAN1 RX0 */ - .word CAN1_RX1_IRQHandler /* CAN1 RX1 */ - .word CAN1_SCE_IRQHandler /* CAN1 SCE */ - .word EXTI9_5_IRQHandler /* External Line[9:5]s */ - .word TIM1_BRK_TIM9_IRQHandler /* TIM1 Break and TIM9 */ - .word TIM1_UP_TIM10_IRQHandler /* TIM1 Update and TIM10 */ - .word TIM1_TRG_COM_TIM11_IRQHandler /* TIM1 Trigger and Commutation and TIM11 */ - .word TIM1_CC_IRQHandler /* TIM1 Capture Compare */ - .word TIM2_IRQHandler /* TIM2 */ - .word TIM3_IRQHandler /* TIM3 */ - .word TIM4_IRQHandler /* TIM4 */ - .word I2C1_EV_IRQHandler /* I2C1 Event */ - .word I2C1_ER_IRQHandler /* I2C1 Error */ - .word I2C2_EV_IRQHandler /* I2C2 Event */ - .word I2C2_ER_IRQHandler /* I2C2 Error */ - .word SPI1_IRQHandler /* SPI1 */ - .word SPI2_IRQHandler /* SPI2 */ - .word USART1_IRQHandler /* USART1 */ - .word USART2_IRQHandler /* USART2 */ - .word USART3_IRQHandler /* USART3 */ - .word EXTI15_10_IRQHandler /* External Line[15:10]s */ - .word RTC_Alarm_IRQHandler /* RTC Alarm (A and B) through EXTI Line */ - .word OTG_FS_WKUP_IRQHandler /* USB OTG FS Wakeup through EXTI line */ - .word TIM8_BRK_TIM12_IRQHandler /* TIM8 Break and TIM12 */ - .word TIM8_UP_TIM13_IRQHandler /* TIM8 Update and TIM13 */ - .word TIM8_TRG_COM_TIM14_IRQHandler /* TIM8 Trigger and Commutation and TIM14 */ - .word TIM8_CC_IRQHandler /* TIM8 Capture Compare */ - .word DMA1_Stream7_IRQHandler /* DMA1 Stream7 */ - .word FMC_IRQHandler /* FMC */ - .word SDMMC1_IRQHandler /* SDMMC1 */ - .word TIM5_IRQHandler /* TIM5 */ - .word SPI3_IRQHandler /* SPI3 */ - .word UART4_IRQHandler /* UART4 */ - .word UART5_IRQHandler /* UART5 */ - .word TIM6_DAC_IRQHandler /* TIM6 and DAC1&2 underrun errors */ - .word TIM7_IRQHandler /* TIM7 */ - .word DMA2_Stream0_IRQHandler /* DMA2 Stream 0 */ - .word DMA2_Stream1_IRQHandler /* DMA2 Stream 1 */ - .word DMA2_Stream2_IRQHandler /* DMA2 Stream 2 */ - .word DMA2_Stream3_IRQHandler /* DMA2 Stream 3 */ - .word DMA2_Stream4_IRQHandler /* DMA2 Stream 4 */ - .word 0 /* Reserved */ - .word 0 /* Reserved */ - .word 0 /* Reserved */ - .word 0 /* Reserved */ - .word 0 /* Reserved */ - .word 0 /* Reserved */ - .word OTG_FS_IRQHandler /* USB OTG FS */ - .word DMA2_Stream5_IRQHandler /* DMA2 Stream 5 */ - .word DMA2_Stream6_IRQHandler /* DMA2 Stream 6 */ - .word DMA2_Stream7_IRQHandler /* DMA2 Stream 7 */ - .word USART6_IRQHandler /* USART6 */ - .word I2C3_EV_IRQHandler /* I2C3 event */ - .word I2C3_ER_IRQHandler /* I2C3 error */ - .word OTG_HS_EP1_OUT_IRQHandler /* USB OTG HS End Point 1 Out */ - .word OTG_HS_EP1_IN_IRQHandler /* USB OTG HS End Point 1 In */ - .word OTG_HS_WKUP_IRQHandler /* USB OTG HS Wakeup through EXTI */ - .word OTG_HS_IRQHandler /* USB OTG HS */ - .word 0 /* Reserved */ - .word AES_IRQHandler /* AES */ - .word RNG_IRQHandler /* RNG */ - .word FPU_IRQHandler /* FPU */ - .word UART7_IRQHandler /* UART7 */ - .word UART8_IRQHandler /* UART8 */ - .word SPI4_IRQHandler /* SPI4 */ - .word SPI5_IRQHandler /* SPI5 */ - .word 0 /* Reserved */ - .word SAI1_IRQHandler /* SAI1 */ - .word 0 /* Reserved */ - .word 0 /* Reserved */ - .word 0 /* Reserved */ - .word SAI2_IRQHandler /* SAI2 */ - .word QUADSPI_IRQHandler /* QUADSPI */ - .word LPTIM1_IRQHandler /* LPTIM1 */ - .word 0 /* Reserved */ - .word 0 /* Reserved */ - .word 0 /* Reserved */ - .word 0 /* Reserved */ - .word 0 /* Reserved */ - .word 0 /* Reserved */ - .word 0 /* Reserved */ - .word 0 /* Reserved */ - .word 0 /* Reserved */ - .word SDMMC2_IRQHandler /* SDMMC2 */ - -/******************************************************************************* -* -* Provide weak aliases for each Exception handler to the Default_Handler. -* As they are weak aliases, any function with the same name will override -* this definition. -* -*******************************************************************************/ - .weak NMI_Handler - .thumb_set NMI_Handler,Default_Handler - - .weak HardFault_Handler - .thumb_set HardFault_Handler,Default_Handler - - .weak MemManage_Handler - .thumb_set MemManage_Handler,Default_Handler - - .weak BusFault_Handler - .thumb_set BusFault_Handler,Default_Handler - - .weak UsageFault_Handler - .thumb_set UsageFault_Handler,Default_Handler - - .weak SVC_Handler - .thumb_set SVC_Handler,Default_Handler - - .weak DebugMon_Handler - .thumb_set DebugMon_Handler,Default_Handler - - .weak PendSV_Handler - .thumb_set PendSV_Handler,Default_Handler - - .weak SysTick_Handler - .thumb_set SysTick_Handler,Default_Handler - - .weak WWDG_IRQHandler - .thumb_set WWDG_IRQHandler,Default_Handler - - .weak PVD_IRQHandler - .thumb_set PVD_IRQHandler,Default_Handler - - .weak TAMP_STAMP_IRQHandler - .thumb_set TAMP_STAMP_IRQHandler,Default_Handler - - .weak RTC_WKUP_IRQHandler - .thumb_set RTC_WKUP_IRQHandler,Default_Handler - - .weak FLASH_IRQHandler - .thumb_set FLASH_IRQHandler,Default_Handler - - .weak RCC_IRQHandler - .thumb_set RCC_IRQHandler,Default_Handler - - .weak EXTI0_IRQHandler - .thumb_set EXTI0_IRQHandler,Default_Handler - - .weak EXTI1_IRQHandler - .thumb_set EXTI1_IRQHandler,Default_Handler - - .weak EXTI2_IRQHandler - .thumb_set EXTI2_IRQHandler,Default_Handler - - .weak EXTI3_IRQHandler - .thumb_set EXTI3_IRQHandler,Default_Handler - - .weak EXTI4_IRQHandler - .thumb_set EXTI4_IRQHandler,Default_Handler - - .weak DMA1_Stream0_IRQHandler - .thumb_set DMA1_Stream0_IRQHandler,Default_Handler - - .weak DMA1_Stream1_IRQHandler - .thumb_set DMA1_Stream1_IRQHandler,Default_Handler - - .weak DMA1_Stream2_IRQHandler - .thumb_set DMA1_Stream2_IRQHandler,Default_Handler - - .weak DMA1_Stream3_IRQHandler - .thumb_set DMA1_Stream3_IRQHandler,Default_Handler - - .weak DMA1_Stream4_IRQHandler - .thumb_set DMA1_Stream4_IRQHandler,Default_Handler - - .weak DMA1_Stream5_IRQHandler - .thumb_set DMA1_Stream5_IRQHandler,Default_Handler - - .weak DMA1_Stream6_IRQHandler - .thumb_set DMA1_Stream6_IRQHandler,Default_Handler - - .weak ADC_IRQHandler - .thumb_set ADC_IRQHandler,Default_Handler - - .weak CAN1_TX_IRQHandler - .thumb_set CAN1_TX_IRQHandler,Default_Handler - - .weak CAN1_RX0_IRQHandler - .thumb_set CAN1_RX0_IRQHandler,Default_Handler - - .weak CAN1_RX1_IRQHandler - .thumb_set CAN1_RX1_IRQHandler,Default_Handler - - .weak CAN1_SCE_IRQHandler - .thumb_set CAN1_SCE_IRQHandler,Default_Handler - - .weak EXTI9_5_IRQHandler - .thumb_set EXTI9_5_IRQHandler,Default_Handler - - .weak TIM1_BRK_TIM9_IRQHandler - .thumb_set TIM1_BRK_TIM9_IRQHandler,Default_Handler - - .weak TIM1_UP_TIM10_IRQHandler - .thumb_set TIM1_UP_TIM10_IRQHandler,Default_Handler - - .weak TIM1_TRG_COM_TIM11_IRQHandler - .thumb_set TIM1_TRG_COM_TIM11_IRQHandler,Default_Handler - - .weak TIM1_CC_IRQHandler - .thumb_set TIM1_CC_IRQHandler,Default_Handler - - .weak TIM2_IRQHandler - .thumb_set TIM2_IRQHandler,Default_Handler - - .weak TIM3_IRQHandler - .thumb_set TIM3_IRQHandler,Default_Handler - - .weak TIM4_IRQHandler - .thumb_set TIM4_IRQHandler,Default_Handler - - .weak I2C1_EV_IRQHandler - .thumb_set I2C1_EV_IRQHandler,Default_Handler - - .weak I2C1_ER_IRQHandler - .thumb_set I2C1_ER_IRQHandler,Default_Handler - - .weak I2C2_EV_IRQHandler - .thumb_set I2C2_EV_IRQHandler,Default_Handler - - .weak I2C2_ER_IRQHandler - .thumb_set I2C2_ER_IRQHandler,Default_Handler - - .weak SPI1_IRQHandler - .thumb_set SPI1_IRQHandler,Default_Handler - - .weak SPI2_IRQHandler - .thumb_set SPI2_IRQHandler,Default_Handler - - .weak USART1_IRQHandler - .thumb_set USART1_IRQHandler,Default_Handler - - .weak USART2_IRQHandler - .thumb_set USART2_IRQHandler,Default_Handler - - .weak USART3_IRQHandler - .thumb_set USART3_IRQHandler,Default_Handler - - .weak EXTI15_10_IRQHandler - .thumb_set EXTI15_10_IRQHandler,Default_Handler - - .weak RTC_Alarm_IRQHandler - .thumb_set RTC_Alarm_IRQHandler,Default_Handler - - .weak OTG_FS_WKUP_IRQHandler - .thumb_set OTG_FS_WKUP_IRQHandler,Default_Handler - - .weak TIM8_BRK_TIM12_IRQHandler - .thumb_set TIM8_BRK_TIM12_IRQHandler,Default_Handler - - .weak TIM8_UP_TIM13_IRQHandler - .thumb_set TIM8_UP_TIM13_IRQHandler,Default_Handler - - .weak TIM8_TRG_COM_TIM14_IRQHandler - .thumb_set TIM8_TRG_COM_TIM14_IRQHandler,Default_Handler - - .weak TIM8_CC_IRQHandler - .thumb_set TIM8_CC_IRQHandler,Default_Handler - - .weak DMA1_Stream7_IRQHandler - .thumb_set DMA1_Stream7_IRQHandler,Default_Handler - - .weak FMC_IRQHandler - .thumb_set FMC_IRQHandler,Default_Handler - - .weak SDMMC1_IRQHandler - .thumb_set SDMMC1_IRQHandler,Default_Handler - - .weak TIM5_IRQHandler - .thumb_set TIM5_IRQHandler,Default_Handler - - .weak SPI3_IRQHandler - .thumb_set SPI3_IRQHandler,Default_Handler - - .weak UART4_IRQHandler - .thumb_set UART4_IRQHandler,Default_Handler - - .weak UART5_IRQHandler - .thumb_set UART5_IRQHandler,Default_Handler - - .weak TIM6_DAC_IRQHandler - .thumb_set TIM6_DAC_IRQHandler,Default_Handler - - .weak TIM7_IRQHandler - .thumb_set TIM7_IRQHandler,Default_Handler - - .weak DMA2_Stream0_IRQHandler - .thumb_set DMA2_Stream0_IRQHandler,Default_Handler - - .weak DMA2_Stream1_IRQHandler - .thumb_set DMA2_Stream1_IRQHandler,Default_Handler - - .weak DMA2_Stream2_IRQHandler - .thumb_set DMA2_Stream2_IRQHandler,Default_Handler - - .weak DMA2_Stream3_IRQHandler - .thumb_set DMA2_Stream3_IRQHandler,Default_Handler - - .weak DMA2_Stream4_IRQHandler - .thumb_set DMA2_Stream4_IRQHandler,Default_Handler - - .weak OTG_FS_IRQHandler - .thumb_set OTG_FS_IRQHandler,Default_Handler - - .weak DMA2_Stream5_IRQHandler - .thumb_set DMA2_Stream5_IRQHandler,Default_Handler - - .weak DMA2_Stream6_IRQHandler - .thumb_set DMA2_Stream6_IRQHandler,Default_Handler - - .weak DMA2_Stream7_IRQHandler - .thumb_set DMA2_Stream7_IRQHandler,Default_Handler - - .weak USART6_IRQHandler - .thumb_set USART6_IRQHandler,Default_Handler - - .weak I2C3_EV_IRQHandler - .thumb_set I2C3_EV_IRQHandler,Default_Handler - - .weak I2C3_ER_IRQHandler - .thumb_set I2C3_ER_IRQHandler,Default_Handler - - .weak OTG_HS_EP1_OUT_IRQHandler - .thumb_set OTG_HS_EP1_OUT_IRQHandler,Default_Handler - - .weak OTG_HS_EP1_IN_IRQHandler - .thumb_set OTG_HS_EP1_IN_IRQHandler,Default_Handler - - .weak OTG_HS_WKUP_IRQHandler - .thumb_set OTG_HS_WKUP_IRQHandler,Default_Handler - - .weak OTG_HS_IRQHandler - .thumb_set OTG_HS_IRQHandler,Default_Handler - - .weak AES_IRQHandler - .thumb_set AES_IRQHandler,Default_Handler - - .weak RNG_IRQHandler - .thumb_set RNG_IRQHandler,Default_Handler - - .weak FPU_IRQHandler - .thumb_set FPU_IRQHandler,Default_Handler - - .weak UART7_IRQHandler - .thumb_set UART7_IRQHandler,Default_Handler - - .weak UART8_IRQHandler - .thumb_set UART8_IRQHandler,Default_Handler - - .weak SPI4_IRQHandler - .thumb_set SPI4_IRQHandler,Default_Handler - - .weak SPI5_IRQHandler - .thumb_set SPI5_IRQHandler,Default_Handler - - .weak SAI1_IRQHandler - .thumb_set SAI1_IRQHandler,Default_Handler - - .weak SAI2_IRQHandler - .thumb_set SAI2_IRQHandler,Default_Handler - - .weak QUADSPI_IRQHandler - .thumb_set QUADSPI_IRQHandler,Default_Handler - - .weak LPTIM1_IRQHandler - .thumb_set LPTIM1_IRQHandler,Default_Handler - - .weak SDMMC2_IRQHandler - .thumb_set SDMMC2_IRQHandler,Default_Handler - - \ No newline at end of file diff --git a/numworks_port/README.md b/numworks_port/README.md deleted file mode 100644 index 7886509..0000000 --- a/numworks_port/README.md +++ /dev/null @@ -1,23 +0,0 @@ -# Zeta (name that might change) -This is a bare metal os attempt on the numworks n0110 - -## Build -1. Download the arm-none-eabi toolchain -2. run ```make clean && make``` -3. the output file is located in build/main.bin -4. you can flash it to slot B using the Web DFU from TI Planet, or by using the command ```make flash``` (unstable) -5. That's it ! - -## TODO/roadmap -### Zeta bare minimum -- [x] Working thing -- [x] Led interface -- [x] Keyboard interface -- [x] Set clock and all - - [x] adapt ms_wait() and us_wait() -- [ ] Screen interface -- [ ] UI toolkit - - [ ] set pixel - - [ ] text display - - [ ] fill rect - - [ ] image display \ No newline at end of file diff --git a/numworks_port/src/Laplace/README.md b/src/Laplace/README.md similarity index 100% rename from numworks_port/src/Laplace/README.md rename to src/Laplace/README.md diff --git a/numworks_port/src/Laplace/clock.c b/src/Laplace/clock.c similarity index 100% rename from numworks_port/src/Laplace/clock.c rename to src/Laplace/clock.c diff --git a/numworks_port/src/Laplace/clock.h b/src/Laplace/clock.h similarity index 100% rename from numworks_port/src/Laplace/clock.h rename to src/Laplace/clock.h diff --git a/numworks_port/src/Laplace/gpio_helper.c b/src/Laplace/gpio_helper.c similarity index 100% rename from numworks_port/src/Laplace/gpio_helper.c rename to src/Laplace/gpio_helper.c diff --git a/numworks_port/src/Laplace/gpio_helper.h b/src/Laplace/gpio_helper.h similarity index 100% rename from numworks_port/src/Laplace/gpio_helper.h rename to src/Laplace/gpio_helper.h diff --git a/numworks_port/src/Laplace/keyboard.c b/src/Laplace/keyboard.c similarity index 100% rename from numworks_port/src/Laplace/keyboard.c rename to src/Laplace/keyboard.c diff --git a/numworks_port/src/Laplace/keyboard.h b/src/Laplace/keyboard.h similarity index 100% rename from numworks_port/src/Laplace/keyboard.h rename to src/Laplace/keyboard.h diff --git a/numworks_port/src/Laplace/laplace.c b/src/Laplace/laplace.c similarity index 100% rename from numworks_port/src/Laplace/laplace.c rename to src/Laplace/laplace.c diff --git a/numworks_port/src/Laplace/laplace.h b/src/Laplace/laplace.h similarity index 100% rename from numworks_port/src/Laplace/laplace.h rename to src/Laplace/laplace.h diff --git a/numworks_port/src/Laplace/led.c b/src/Laplace/led.c similarity index 100% rename from numworks_port/src/Laplace/led.c rename to src/Laplace/led.c diff --git a/numworks_port/src/Laplace/led.h b/src/Laplace/led.h similarity index 100% rename from numworks_port/src/Laplace/led.h rename to src/Laplace/led.h diff --git a/numworks_port/src/Laplace/time.c b/src/Laplace/time.c similarity index 100% rename from numworks_port/src/Laplace/time.c rename to src/Laplace/time.c diff --git a/numworks_port/src/Laplace/time.h b/src/Laplace/time.h similarity index 100% rename from numworks_port/src/Laplace/time.h rename to src/Laplace/time.h diff --git a/numworks_port/src/device/cmsis_gcc.h b/src/device/cmsis_gcc.h similarity index 100% rename from numworks_port/src/device/cmsis_gcc.h rename to src/device/cmsis_gcc.h diff --git a/numworks_port/src/device/core_cm7.h b/src/device/core_cm7.h similarity index 100% rename from numworks_port/src/device/core_cm7.h rename to src/device/core_cm7.h diff --git a/numworks_port/src/device/core_cmFunc.h b/src/device/core_cmFunc.h similarity index 100% rename from numworks_port/src/device/core_cmFunc.h rename to src/device/core_cmFunc.h diff --git a/numworks_port/src/device/core_cmInstr.h b/src/device/core_cmInstr.h similarity index 100% rename from numworks_port/src/device/core_cmInstr.h rename to src/device/core_cmInstr.h diff --git a/numworks_port/src/device/core_cmSimd.h b/src/device/core_cmSimd.h similarity index 100% rename from numworks_port/src/device/core_cmSimd.h rename to src/device/core_cmSimd.h diff --git a/numworks_port/src/device/stm32f730xx.h b/src/device/stm32f730xx.h similarity index 100% rename from numworks_port/src/device/stm32f730xx.h rename to src/device/stm32f730xx.h diff --git a/numworks_port/src/device/stm32f7xx.h b/src/device/stm32f7xx.h similarity index 100% rename from numworks_port/src/device/stm32f7xx.h rename to src/device/stm32f7xx.h diff --git a/numworks_port/src/device/system_stm32f7xx.h b/src/device/system_stm32f7xx.h similarity index 100% rename from numworks_port/src/device/system_stm32f7xx.h rename to src/device/system_stm32f7xx.h diff --git a/numworks_port/src/info_headers.cpp b/src/info_headers.cpp similarity index 100% rename from numworks_port/src/info_headers.cpp rename to src/info_headers.cpp diff --git a/numworks_port/src/linker.ld b/src/linker.ld similarity index 100% rename from numworks_port/src/linker.ld rename to src/linker.ld diff --git a/numworks_port/src/main.c b/src/main.c similarity index 100% rename from numworks_port/src/main.c rename to src/main.c diff --git a/numworks_port/src/main.h b/src/main.h similarity index 100% rename from numworks_port/src/main.h rename to src/main.h diff --git a/numworks_port/src/start_handler.cpp b/src/start_handler.cpp similarity index 100% rename from numworks_port/src/start_handler.cpp rename to src/start_handler.cpp diff --git a/numworks_port/src/vector_table.cpp b/src/vector_table.cpp similarity index 100% rename from numworks_port/src/vector_table.cpp rename to src/vector_table.cpp diff --git a/numworks_port/src/vector_table.h b/src/vector_table.h similarity index 100% rename from numworks_port/src/vector_table.h rename to src/vector_table.h