# \[RevEng\]\[x86\]\[x64\]\[C\]\[newbies\] Software reset in embedded devices

DevFeed: [\[RevEng\]\[x86\]\[x64\]\[C\]\[newbies\] Software reset in embedded devices](<https://devfeed.tech/articles/reveng-x86-x64-c-newbies-software-reset-in-embedded-devices-20578.md>)

Original publisher: [Read original article](<https://yurichev.com/blog/reset/>)

Published: 2025-12-31T23:00:00Z

Content type: tutorial

Language: en

Sources: [Dennis Yurichev](<https://devfeed.tech/sources/dennis-yurichev.md>)

Topics: [C](<https://devfeed.tech/topics/c.md>), [Embedded Software Dev](<https://devfeed.tech/topics/embedded-software-dev.md>), [Code](<https://devfeed.tech/topics/code.md>), [x86](<https://devfeed.tech/topics/x86.md>), [gcc](<https://devfeed.tech/topics/gcc.md>)

Tags: [blog-post](<https://devfeed.tech/tags/blog-post.md>), [c](<https://devfeed.tech/tags/c.md>), [code](<https://devfeed.tech/tags/code.md>), [compilation](<https://devfeed.tech/tags/compilation.md>), [embedded](<https://devfeed.tech/tags/embedded.md>), [embedded-devices](<https://devfeed.tech/tags/embedded-devices.md>), [gcc](<https://devfeed.tech/tags/gcc.md>), [software](<https://devfeed.tech/tags/software.md>), [x86](<https://devfeed.tech/tags/x86.md>)

## AI overview

This tutorial explains a software-reset technique for embedded devices using pure C. It shows how calling a function pointer at address zero can jump to firmware on systems that start execution there after power-on or reset, and discusses the behavior of the stack and local variables.

## Source excerpt

[RevEng][x86][x64][C][newbies] Software reset in embedded devices