The Memory Layout of a C Program | Data Structures in Embedded Systems

  Рет қаралды 10,663

Embedded Systems, in Pyjama!

Embedded Systems, in Pyjama!

Күн бұрын

Пікірлер: 30
@koppakabhagavan2848
@koppakabhagavan2848 Жыл бұрын
Nice information Congratulations and heartful appreciation for "Embedded in pyjama" team for the efforts to create content on Embedded systems.
@inpyjama
@inpyjama Жыл бұрын
Thanks a lot, Let us know what else would you love to watch !!
@AkashNayak-i4w
@AkashNayak-i4w 3 ай бұрын
Crisp and efficient lecture. Thanks.
@KarunaRudresh
@KarunaRudresh Жыл бұрын
Detailed and clear explanation 🙌👏 Looking forward for all the upcoming advanced topics :)
@tusharvyavahare
@tusharvyavahare Жыл бұрын
Simple yet clean explanation 👌
@mohansaini5583
@mohansaini5583 Жыл бұрын
Hi dev.. Nice explanation . Will be good if you cover some more advanced topics like read only data segment and how string litrals(char *) and const var are stored and these memory freed
@amanchoudhary1586
@amanchoudhary1586 4 ай бұрын
Very nicely explained. ❤
@Sai-Akula
@Sai-Akula Жыл бұрын
Great explanation 𝗗𝗲𝘃, cleanly explained with example At some point in the series could you kindly explain about ELF format details (covering File, Program, Section - header(s), DWARF)
@giovanniguarino588
@giovanniguarino588 8 ай бұрын
Thank you. One question. In a memory debugger, IDRA, X64 how can I individuate the heap and the stack
@nitpal9958
@nitpal9958 9 ай бұрын
@13:49 Aren't global/static variables that are explicitly initialized to 0 (like the variables c and r in your example) stored in the bss segment? Please correct me if I am wrong
@inpyjama
@inpyjama 9 ай бұрын
Global uninitialized variables are stored in BSS section & global initialized variables are stored in data section.
@nitpal9958
@nitpal9958 9 ай бұрын
@@inpyjama but wouldn't it be more memory efficient to store 0-initialized global/static variables in the BSS section?
@harshithramamurthy2820
@harshithramamurthy2820 Жыл бұрын
Nicely explained 👌🏽
@kedar9591
@kedar9591 Жыл бұрын
Sir please upload next lectures ASAP
@donythomas7
@donythomas7 Жыл бұрын
Thank you, one query. Does the executable binary file contain (in addition to the code) instructions for segregating the allocated memory in to 5 sections? Otherwise, whose responsibility is it to segregate the allocated memory in to 5 sections?
@pranjalk29
@pranjalk29 Жыл бұрын
It's done by os.
@donythomas7
@donythomas7 Жыл бұрын
@@pranjalk29As the os is generic in nature, who gives instructions to the os to segregate the memory in a particular manner? Those instructions should be included in the executable, right?
@inpyjama
@inpyjama Жыл бұрын
From what I know the loader uses the information in the ELF to create a PCB (process control block) and add into the schedule queue of an higher level OS. I don't have a source of truth for this at the moment but I have a strong feeling the loader does this. - Piyush
@SudhirPatel46
@SudhirPatel46 Жыл бұрын
Hello, I have a doubt regarding the address that all the sections of an executable is assigned. Let say the all the segments of the binary gets the address by the linker but how does it know that the assigned address is not being used by some other process already, does it do some kind of preemption when the process is loaded or there is something else I am missing??
@inpyjama
@inpyjama Жыл бұрын
Another good question. This is the exact problem which is solved my virtual addressing. All the applications will run thinking they own the complete system and not bother about address clashing (the addresses are virtual). It is the job of Operating system to convert the virtual addresses of all such applications into physical addresses (they maintain a table of virtual to physical addresses translation per application/process). We are planning to cover memory management and these translation in detail in future videos. Stay tuned :)
@MAShams1
@MAShams1 Жыл бұрын
Awesome, it would be much better if you shared with us the pdf to be as a revision ❤
@inpyjama
@inpyjama Жыл бұрын
Thanks MAShams1, Definitely will do that !!
@MDIMRAN-zy9cb
@MDIMRAN-zy9cb Жыл бұрын
Good explanation.
@deveshshevde-cp8xq
@deveshshevde-cp8xq Жыл бұрын
hello sir , I have a doubt regarding c/c++ , I am into embedded system so how can I fine tune my c skill at this point of time I am struggling in c ( runs on mcu) as there are not much scope to practice ..for example :- I wrote a control algorithm for xyz things now I need data logging feature so now I got stuck into fatfs things like is it normal to struggle this much in new things? and tell me something to fine tune my emb c skills
@inpyjama
@inpyjama Жыл бұрын
Hi Devesh, You can go through our podcast and Lab videos here www.youtube.com/@inpyjama. Are you trying to boot and enable some uart logging or something?
@hugeturnip3520
@hugeturnip3520 8 ай бұрын
Thank you so so much man
@Shiva.Sareddy
@Shiva.Sareddy 9 ай бұрын
volume is very low
@suffiyanshaikh2127
@suffiyanshaikh2127 Жыл бұрын
Volume is very much low in the video not able to hear with earphones as well.
@inpyjama
@inpyjama Жыл бұрын
Will work on it
@anassadkaoui1
@anassadkaoui1 8 ай бұрын
Awesome
What is an object pool, and how to create one in C?
23:14
Jacob Sorber
Рет қаралды 11 М.
Visualizing memory layout of Rust's data types
39:39
Sreekanth
Рет қаралды 27 М.
Quando A Diferença De Altura É Muito Grande 😲😂
00:12
Mari Maria
Рет қаралды 45 МЛН
Гениальное изобретение из обычного стаканчика!
00:31
Лютая физика | Олимпиадная физика
Рет қаралды 4,8 МЛН
黑天使被操控了#short #angel #clown
00:40
Super Beauty team
Рет қаралды 61 МЛН
8 Data Structures Every Programmer Should Know
17:09
ForrestKnight
Рет қаралды 235 М.
WHY IS THE HEAP SO SLOW?
17:53
Core Dumped
Рет қаралды 290 М.
you will never ask about pointers again after watching this video
8:03
Writing Code That Runs FAST on a GPU
15:32
Low Level
Рет қаралды 575 М.
Arenas, strings and Scuffed Templates in C
12:28
VoxelRifts
Рет қаралды 99 М.
WHY IS THE STACK SO FAST?
13:46
Core Dumped
Рет қаралды 188 М.
Mastering Memory: Allocation Techniques in C, C++, and ARM Assembly
17:05
Pointers and dynamic memory - stack vs heap
17:26
mycodeschool
Рет қаралды 1,5 МЛН
Andrew Kelley   Practical Data Oriented Design (DoD)
46:40
ChimiChanga
Рет қаралды 154 М.
My 2 Year Journey of Learning C, in 9 minutes
8:42
VoxelRifts
Рет қаралды 677 М.
Quando A Diferença De Altura É Muito Grande 😲😂
00:12
Mari Maria
Рет қаралды 45 МЛН