Skip to content

WenXian15/embedded_software

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

64 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Reading:

  1. https://github.com/manjunath5496/Embedded-Systems-Books/tree/master?tab=readme-ov-file
  2. https://mp.weixin.qq.com/s/RHCPwB0pN2XpgWJCurNOuw
  3. https://lupyuen.github.io/
  4. bare metal programming guide - https://github.com/cpq/bare-metal-programming-guide

Hi, here is step by step of how I try to understand C program running on baremetal. First try to understand of byte addressable, char, int and various variable size. Follow up by heap, stack and the memory allocation. Memory Allocation - https://x.com/chessman786/status/1859054892293517531?s=46 https://martinlwx.github.io/en/what-is-the-heap-and-stack/#fnref:2 Youtube CoreDumped - Why is STACK so fast? and Why is HEAP so SLOW?

  1. Pointer - https://x.com/7etsuo/status/1834554218386194464?s=46
  2. Segmentation Fault
  3. Interrupt - https://x.com/7etsuo/status/1859722100740849769?s=46
  4. Stack/buffer overflow

Thread Process

Memory Layout of a PROCESS text, data, HEAP, STACK https://www.youtube.com/watch?v=7ge7u5VUSbE&t=42s

.elf .dat .hex .bin .mcs (Intel Hex)

Debugging

OpenOCD : https://ectfmitre.gitlab.io/ectf-website/2024/getting_started/openocd.html
GDB : https://visualgdb.com/gdbreference/commands/
GDB Dashboard : https://github.com/cyrus-and/gdb-dashboard?tab=readme-ov-file

C Library Functions https://developer.arm.com/documentation/dui0041/c/The-C-and-C---Libraries/The-embedded-C-library/Embedded-C-library-functions

Common predefined macro https://gcc.gnu.org/onlinedocs/gcc-11.5.0/cpp/Common-Predefined-Macros.html

SW

ASCII vs unicode - UTF-8, UTF-16, UTF-32 Little Endian vs Big Endian - https://www.youtube.com/watch?v=RvFRCDoj6JI Data padding (Data Structure Alignment)

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published