Soft Reset


asm("reset");

Reset Function

Generally the C30 will use the startup module to do some setup works. Refer to the device linker script file (p24HJ256GP206.gld), there are something like:
OUTPUT_ARCH("24HJ256GP206")
CRT0_STARTUP(crt0_standard.o)
CRT1_STARTUP(crt1_standard.o)

OPTIONAL(-lp24HJ256GP206)

The CRTn_STARTUP commands specify two C run-time startup modules to be loaded from archives. The linker will select one of these based on whether data initialization has been enabled. Check the corresponding startup source files (for example crt0_standard.s and crt1_standard.s) for details.

In those files, "__reset" is not declared as global but as weak attribute. The "__resetPRI" and "__resetALT" are declared as global respectively. So you may use one of these symbols depending on your project build option settings. Anyway, check the generated disassembly listing file or program memory window to ensure to get your expected results.

UK Electronic Designer
USEFUL?
We benefit hugely from resources on the web so we decided we should try and give back some of our knowledge and resources to the community by opening up many of our company’s internal notes and libraries through mini sites like this. We hope you find the site helpful.
Please feel free to comment if you can add help to this page or point out issues and solutions you have found, but please note that we do not provide support on this site. If you need help with a problem please use one of the many online forums.