start

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
start [2025/05/03 08:34] – [Programming] adminstart [2026/06/08 22:01] (current) – [Basic lab bench equipment] admin
Line 5: Line 5:
 [[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]]__**
Line 49: Line 51:
  
 **{{ :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>
  
Line 92: Line 94:
 ^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)|
Line 98: Line 100:
 |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]]
Line 115: Line 121:
  
  
-====== Linux/Unix ======+===== Linux/Unix =====
 Stuff related to [[Embedded Linux]] Stuff related to [[Embedded Linux]]
  
Line 134: Line 140:
 [[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]]
Line 144: Line 150:
 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>
Line 153: Line 159:
  
 [[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]]
Line 165: Line 177:
  
 [[Psychology]] [[Psychology]]
- 
-*** Read the Reference 
-* Break Down Problems 
-* Never Stop Learning 
-* Have Patience 
-* Keep it Simple** 
  
 [[http://autotest.github.com/|Autotest]] is an interesting testing framework that can be used to test big systems or e.g. to validate hardware. [[http://autotest.github.com/|Autotest]] is an interesting testing framework that can be used to test big systems or e.g. to validate hardware.
Line 183: Line 189:
  
 https://pybit.es/career-development-programmers.html https://pybit.es/career-development-programmers.html
-====== Internet of Things ======+===== Internet of Things =====
 [[GPRS modems]] [[GPRS modems]]
  
Line 193: Line 199:
  
 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]]
Line 217: Line 223:
 <color /#FFff00>https://github.com/jonnor/embeddedml/</color> <color /#FFff00>https://github.com/jonnor/embeddedml/</color>
  
-====== Projects ======+===== Projects =====
  
 [[Working on]] [[Working on]]
Line 223: Line 229:
 [[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
Line 243: Line 249:
  
 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 https://github.com/papers-we-love/papers-we-love
  • start.1746261241.txt.gz
  • Last modified: 13 months ago
  • by admin