| Both sides previous revision Previous revision Next revision | Previous revision |
| start [2024/11/02 16:24] – admin | start [2026/06/08 22:01] (current) – [Basic lab bench equipment] admin |
|---|
| [[https://www.youtube.com/watch?v=PUv66718DII|Inventing on principle, Bret Victor]] | [[https://www.youtube.com/watch?v=PUv66718DII|Inventing on principle, Bret Victor]] |
| |
| ====== ARM ====== | [[https://www.cs.unc.edu/~stotts/COMP590-059-f24/robsrules.html?utm_source=hackernewsletter&utm_medium=email&utm_term=code|Rob Pike's 5 rules of programming]] |
| | |
| | =====ARM===== |
| |
| **__[[STM32]]__** | **__[[STM32]]__** |
| |
| **{{ :dui0553.pdf |ARM Cortex-M4 Devices Generic User Guide}}** | **{{ :dui0553.pdf |ARM Cortex-M4 Devices Generic User Guide}}** |
| ====== Embedded ====== | ===== Embedded ===== |
| <color /#FFff00>[[Debugging hardware]]</color> | <color /#FFff00>[[Debugging hardware]]</color> |
| |
| ^Board ^HW ^Project links ^Toolchain version / Build environment ^SW Components ^ | ^Board ^HW ^Project links ^Toolchain version / Build environment ^SW Components ^ |
| | Infineon XMC4800 Relax | XMC4800-F144 @144MHz \\ 2MB Flash \\ 352KB RAM \\ Segger J-Link| [[https://www.infineon.com/cms/en/product/evaluation-boards/kit_xmc48_relax_ecat_v1/|Board]] \\ [[https://www.infineon.com/dgdl/Infineon-XMC4700-XMC4800-DS-v01_01-EN.pdf?fileId=5546d462518ffd850151908ea8db00b3|MCU_DS]] \\ [[https://www.infineon.com/dgdl/Infineon-ReferenceManual_XMC4700_XMC4800-UM-v01_03-EN.pdf?fileId=5546d462518ffd850151904eb90c0044 | MCU_RM]]| Docker Ubuntu 18.04 with: \\ gcc-arm-none-eabi-8-2018-q4-major (developer.arm.com) |XMCLib 2.1.22 \\ JLink V634g| | | Infineon XMC4800 Relax | XMC4800-F144 @144MHz \\ 2MB Flash \\ 352KB RAM \\ Segger J-Link| [[https://www.infineon.com/cms/en/product/evaluation-boards/kit_xmc48_relax_ecat_v1/|Board]] \\ [[https://www.infineon.com/dgdl/Infineon-XMC4700-XMC4800-DS-v01_01-EN.pdf?fileId=5546d462518ffd850151908ea8db00b3|MCU_DS]] \\ [[https://www.infineon.com/dgdl/Infineon-ReferenceManual_XMC4700_XMC4800-UM-v01_03-EN.pdf?fileId=5546d462518ffd850151904eb90c0044 | MCU_RM]]| Docker Ubuntu 18.04 with: \\ gcc-arm-none-eabi-8-2018-q4-major (developer.arm.com) |XMCLib 2.1.22 \\ JLink V634g| |
| | **ST Nucleo F429ZI** | STM32F429ZIT6 @180MHz \\ 2MB Flash \\ 256+4KB SRAM \\ <del>On-board ST-LINK/V2-1</del> \\ **Black Magic Probe (and incl. UART)** | [[https://www.st.com/resource/en/user_manual/dm00244518-stm32-nucleo-144-boards-stmicroelectronics.pdf|Board]] \\ [[https://www.st.com/resource/en/datasheet/stm32f429zi.pdf|MCU_DS]] \\ [[https://www.st.com/resource/en/reference_manual/DM00031020-.pdf|MCU_RM]] \\ [[https://www.st.com/content/ccc/resource/technical/document/programming_manual/6c/3a/cb/e7/e4/ea/44/9b/DM00046982.pdf/files/DM00046982.pdf/jcr:content/translations/en.DM00046982.pdf|F4_PM]] | gcc-arm-none-eabi-9-2019-q4-major \\ --- \\ **gcc-arm-none-eabi-9-2019-q4-major** \\ --- \\ RTEMS toolchain | libopencm3 \\ --- \\ **CubeMX (168MHz) \\ Flash and debug with gdb** \\ --- \\ RTEMS | | | ST Nucleo F429ZI | STM32F429ZIT6 @180MHz \\ 2MB Flash \\ 256+4KB SRAM \\ <del>On-board ST-LINK/V2-1</del> \\ Black Magic Probe (and incl. UART) | [[https://www.st.com/resource/en/user_manual/dm00244518-stm32-nucleo-144-boards-stmicroelectronics.pdf|Board]] \\ [[https://www.st.com/resource/en/datasheet/stm32f429zi.pdf|MCU_DS]] \\ [[https://www.st.com/resource/en/reference_manual/DM00031020-.pdf|MCU_RM]] \\ [[https://www.st.com/content/ccc/resource/technical/document/programming_manual/6c/3a/cb/e7/e4/ea/44/9b/DM00046982.pdf/files/DM00046982.pdf/jcr:content/translations/en.DM00046982.pdf|F4_PM]] | gcc-arm-none-eabi-9-2019-q4-major \\ --- \\ gcc-arm-none-eabi-9-2019-q4-major \\ --- \\ RTEMS toolchain | libopencm3 \\ --- \\ CubeMX (168MHz) \\ Flash and debug with gdb \\ --- \\ RTEMS | |
| | Pyboard D SF6W | STM32F767VIT @216MHz \\ 2MB Flash \\ 2MB QSPI Flash \\ 512KB RAM | [[https://pybd.io/hw/pybd_sfxw.html|Board]] \\ [[https://pybd.io/hw/wbus_dip68.html|DIP68]] \\ [[https://www.st.com/resource/en/datasheet/stm32f767zi.pdf|MCU_DS]] \\ [[https://www.st.com/resource/en/reference_manual/dm00224583-stm32f76xxx-and-stm32f77xxx-advanced-armbased-32bit-mcus-stmicroelectronics.pdf|MCU_RM]] \\ [[https://www.st.com/resource/en/programming_manual/dm00237416-stm32f7-series-and-stm32h7-series-cortexm7-processor-programming-manual-stmicroelectronics.pdf | F7_PM]]| (FW obtained from [[http://www.micropython.org/download/pybd/|MicroPython]] )| MicroPython 1.14-83 \\ Flash with dfu-util | | | Pyboard D SF6W | STM32F767VIT @216MHz \\ 2MB Flash \\ 2MB QSPI Flash \\ 512KB RAM | [[https://pybd.io/hw/pybd_sfxw.html|Board]] \\ [[https://pybd.io/hw/wbus_dip68.html|DIP68]] \\ [[https://www.st.com/resource/en/datasheet/stm32f767zi.pdf|MCU_DS]] \\ [[https://www.st.com/resource/en/reference_manual/dm00224583-stm32f76xxx-and-stm32f77xxx-advanced-armbased-32bit-mcus-stmicroelectronics.pdf|MCU_RM]] \\ [[https://www.st.com/resource/en/programming_manual/dm00237416-stm32f7-series-and-stm32h7-series-cortexm7-processor-programming-manual-stmicroelectronics.pdf | F7_PM]]| (FW obtained from [[http://www.micropython.org/download/pybd/|MicroPython]] )| MicroPython 1.14-83 \\ Flash with dfu-util | |
| |ST STM32MP157A-DK1 |STM32MP157 (2A7 @650MHz + M4 @209MHz) \\ 4-Gbit DDR3L \\ On-board ST-LINK/V2-1 | [[https://www.st.com/resource/en/user_manual/dm00591354-discovery-kits-with-stm32mp157-mpus-stmicroelectronics.pdf|Board]] \\ [[https://www.st.com/resource/en/datasheet/stm32mp157a.pdf|MCU_DS]] \\ [[https://www.st.com/resource/en/reference_manual/dm00327659-stm32mp157-advanced-arm-based-32-bit-mpus-stmicroelectronics.pdf | MCU_RM]] | Docker Ubuntu 18.04 with: \\ yocto thud | Real-time (RT-PREEMPT)| | |ST STM32MP157A-DK1 |STM32MP157 (2A7 @650MHz + M4 @209MHz) \\ 4-Gbit DDR3L \\ On-board ST-LINK/V2-1 | [[https://www.st.com/resource/en/user_manual/dm00591354-discovery-kits-with-stm32mp157-mpus-stmicroelectronics.pdf|Board]] \\ [[https://www.st.com/resource/en/datasheet/stm32mp157a.pdf|MCU_DS]] \\ [[https://www.st.com/resource/en/reference_manual/dm00327659-stm32mp157-advanced-arm-based-32-bit-mpus-stmicroelectronics.pdf | MCU_RM]] | Docker Ubuntu 18.04 with: \\ yocto thud | Real-time (RT-PREEMPT)| |
| |TI Hercules 570LC43 |TMS570LC4357 (2R5F @300MHz) \\ 4MB Flash \\ 512KB RAM \\ On-board XDS100 | [[https://www.ti.com/lit/pdf/spnu617|Board]] \\ [[https://www.ti.com/lit/pdf/spns195|MCU_DS]] \\ [[https://www.ti.com/lit/pdf/spnu563 | MCU_RM]] | CCS 10.2.0 | HALCoGen 04.07.01 \\ Flash and debug with CCS| | |TI Hercules 570LC43 |TMS570LC4357 (2R5F @300MHz) \\ 4MB Flash \\ 512KB RAM \\ On-board XDS100 | [[https://www.ti.com/lit/pdf/spnu617|Board]] \\ [[https://www.ti.com/lit/pdf/spns195|MCU_DS]] \\ [[https://www.ti.com/lit/pdf/spnu563 | MCU_RM]] | CCS 10.2.0 | HALCoGen 04.07.01 \\ Flash and debug with CCS| |
| |**Trenz TE0802** |Zynq Ultrascale+ ZU2CG (2R5F @600MHz, 2A53 @1.5GHz) \\ 32MB SPI Flash \\ 1GB LPDDR4 RAM \\ On-board USB JTAG | [[https://shop.trenz-electronic.de/de/TE0802-02-2AEU2-A-MPSoC-Development-Board-mit-Xilinx-Zynq-UltraScale-ZU2-und-LPDDR4?c=473|Board]]\\ [[https://shop.trenz-electronic.de/de/Download/?path=Trenz_Electronic/Development_Boards/TE0802/REV02/Documents|Board_Res]]\\ [[https://wiki.trenz-electronic.de/display/PD/TE0802+TRM|Board_TRM]] \\ {{:ds891-zynq-ultrascale-plus-overview.pdf|MCU_DS}} \\ {{ :ug1085-zynq-ultrascale-trm.pdf|MCU_RM}} | Vitis/Vivado 2019.2 \\ --- \\ RTEMS toolchain | Vitis/Vivado 2019.2 \\ --- \\ RTEMS | | |**Trenz TE0802** |Zynq Ultrascale+ ZU2CG (2R5F @600MHz, 2A53 @1.5GHz) \\ 32MB SPI Flash \\ 1GB LPDDR4 RAM \\ On-board USB JTAG | [[https://shop.trenz-electronic.de/de/TE0802-02-2AEU2-A-MPSoC-Development-Board-mit-Xilinx-Zynq-UltraScale-ZU2-und-LPDDR4?c=473|Board]]\\ [[https://shop.trenz-electronic.de/de/Download/?path=Trenz_Electronic/Development_Boards/TE0802/REV02/Documents|Board_Res]]\\ [[https://wiki.trenz-electronic.de/display/PD/TE0802+TRM|Board_TRM]] \\ {{:ds891-zynq-ultrascale-plus-overview.pdf|MCU_DS}} \\ {{ :ug1085-zynq-ultrascale-trm.pdf|MCU_RM}} | Vitis/Vivado 2019.2 \\ --- \\ RTEMS toolchain | Vitis/Vivado 2019.2 \\ --- \\ RTEMS | |
| ====== RTOS ====== | |**BeaglePlay** |TI AM625 (4A53 @xxHz, 1M4F @xxHz) \\ 512KB L2 cache, each A53 32KB ICache and 32KB DCache \\ 2GB DDR4 RAM, M4F 256KB RAM \\ Tag-Connect JTAG connection | [[https://docs.beagleboard.org/beagleplay.pdf|Board]] \\ [[https://www.ti.com/lit/gpn/am625|MCU_DS]] \\ [[https://www.ti.com/lit/pdf/spruiv7|MCU_RM]] | Yocto ? | Yocto ? | |
| | |**BeagleV-Fire** |4RV64GC (U54-MC) \\ 2GB DDR4 RAM \\ Tag-Connect JTAG connection | [[https://docs.beagleboard.org/beaglev-fire.pdf|Board]] \\ [[https://www.sifive.com/document-file/sifive-essential-product-brief|MCU]] \\ [[https://www.sifive.com/document-file/freedom-u540-c000-manual|MCU_manual]] | Yocto ? | Yocto ? | |
| | | **ST B-G474E-DPOW1** | STM32G474RET6 @180MHz \\ 512KB Flash \\ 128KB SRAM \\ <del>On-board ST-LINK/V3E</del> \\ **Segger J-Link** | [[https://www.st.com/resource/en/user_manual/um2577-discovery-kit-with-stm32g474re-mcu-stmicroelectronics.pdf|Board]] \\ [[https://www.st.com/resource/en/datasheet/stm32g474cb.pdf|MCU_DS]] \\ [[https://www.st.com/resource/en/reference_manual/rm0440-stm32g4-series-advanced-armbased-32bit-mcus-stmicroelectronics.pdf|MCU_RM]] \\ [[https://www.st.com/resource/en/programming_manual/pm0214-stm32-cortexm4-mcus-and-mpus-programming-manual-stmicroelectronics.pdf|M4_PM]] | gcc-arm-none-eabi-9-2019-q4-major \\ --- \\ **gcc-arm-none-eabi-9-2019-q4-major** \\ --- \\ RTEMS toolchain | libopencm3 \\ --- \\ **CubeMX (168MHz) \\ Flash and debug with gdb** \\ --- \\ RTEMS | |
| | |
| | ===== RTOS ===== |
| |
| [[Zephyr]] | [[Zephyr]] |
| |
| |
| ====== Linux/Unix ====== | ===== Linux/Unix ===== |
| Stuff related to [[Embedded Linux]] | Stuff related to [[Embedded Linux]] |
| |
| [[Testing]] | [[Testing]] |
| |
| **__[[Realtime]]__** | <color /#FFff00>**__[[Realtime]]__**</color> |
| |
| [[http://lxr.linux.no/+trees|The Linux Cross Reference]] | [[http://lxr.linux.no/+trees|The Linux Cross Reference]] |
| https://marcin.juszkiewicz.com.pl/download/tables/syscalls.html | https://marcin.juszkiewicz.com.pl/download/tables/syscalls.html |
| |
| ==== BSD ==== | === BSD === |
| Some [[FreeBSD|FreeBSD tips]]. | Some [[FreeBSD|FreeBSD tips]]. |
| ====== Programming ====== | ===== Programming ===== |
| |
| <color /#FFff00>[[https://dev.to/fzammit/10-lessons-from-a-software-engineer--freelancer-1fho?utm_source=Newsletter+Subscribers&utm_campaign=f369aac752-EMAIL_CAMPAIGN_2018_12_31_01_56&utm_medium=email&utm_term=0_d8f11d5d1e-f369aac752-154658141|10 lessons from a sw engineer and freelancer]]</color> | <color /#FFff00>[[https://dev.to/fzammit/10-lessons-from-a-software-engineer--freelancer-1fho?utm_source=Newsletter+Subscribers&utm_campaign=f369aac752-EMAIL_CAMPAIGN_2018_12_31_01_56&utm_medium=email&utm_term=0_d8f11d5d1e-f369aac752-154658141|10 lessons from a sw engineer and freelancer]]</color> |
| |
| [[https://www.profocustechnology.com/software-development/nasas-ten-commandments-programming/|Nasa's ten commandments of programming]] | [[https://www.profocustechnology.com/software-development/nasas-ten-commandments-programming/|Nasa's ten commandments of programming]] |
| | |
| | * **Read the Reference** |
| | * **Break Down Problems** |
| | * **Never Stop Learning** |
| | * **Have Patience** |
| | * **Keep it Simple** |
| |
| [[SW design lessons learned]] | [[SW design lessons learned]] |
| |
| https://pybit.es/career-development-programmers.html | https://pybit.es/career-development-programmers.html |
| ====== Internet of Things ====== | ===== Internet of Things ===== |
| [[GPRS modems]] | [[GPRS modems]] |
| |
| |
| We can use sensor networks specific OSs like [[http://www.tinyos.net/|TinyOS]] or [[http://www.sics.se/~adam/contiki/docs/|Contiki]] (see also the [[http://www.sics.se/contiki/wiki/index.php/Main_Page|wiki]]), and standard RTOSs like FreeRTOS or uCOS-III. In systems with enough HW resources, embedded Linux can also be used. | We can use sensor networks specific OSs like [[http://www.tinyos.net/|TinyOS]] or [[http://www.sics.se/~adam/contiki/docs/|Contiki]] (see also the [[http://www.sics.se/contiki/wiki/index.php/Main_Page|wiki]]), and standard RTOSs like FreeRTOS or uCOS-III. In systems with enough HW resources, embedded Linux can also be used. |
| ====== Machine Learning ====== | ===== Machine Learning ===== |
| |
| [[ML libraries]] | [[ML libraries]] |
| <color /#FFff00>https://github.com/jonnor/embeddedml/</color> | <color /#FFff00>https://github.com/jonnor/embeddedml/</color> |
| |
| ====== Projects ====== | ===== Projects ===== |
| |
| [[Working on]] | [[Working on]] |
| [[Sensors]] | [[Sensors]] |
| |
| ====== Basic lab bench equipment ====== | ===== Basic lab bench equipment ===== |
| * Power supply: Peaktech 6035D | * Power supply: Peaktech 6035D |
| * Signal generator: Peaktech 4055 | * Signal generator: Peaktech 4055 |
| |
| https://www.embeddedrelated.com/showarticle/1473.php | https://www.embeddedrelated.com/showarticle/1473.php |
| ====== Other ====== | ===== Other ===== |
| | |
| | https://github.com/papers-we-love/papers-we-love |
| |
| [[Single board computers]] and modules | [[Single board computers]] and modules |