calling a main function

disini, ku akan memperlihatkan "kenapa" init function di rp2040 bisa bernama main, dan bagaimana steps nya

pertama2, saya mencoba flash kode asm yang isinya hanya jump dan exit, seperti yang terlihat dibawah image

lalu saya jalankan, terlihat saya kasih dia breakpoint di main kan? image

sebenernya sudah benar bagian

(gdb) disass
Dump of assembler code for function main:
=> 0x100002a8 <+0>:	b.n	0x100002aa <jump_here>

lalu next, jump ke jump_here

(gdb) disass
Dump of assembler code for function jump_here:
=> 0x100002aa <+0>:	movs	r0, #0
   0x100002ac <+2>:	bx	lr
   0x100002ae <+4>:	movs	r0, r0
End of assembler dump.

terlihat sudah sampai di movs r0, #0 kan? sama seperti assembly kita diatas, tapi ada beberapa yang strange (need triage)

tiba tiba muncul

movs	r0, r0

jika kita lihat juga, setelah jump jump_here dieksekusi, ia pindah ke /home/fadhil_riyanto/git_clone/pico-sdk/src/rp2_common/pico_crt0/crt0.S:456

dan akhirnya, tidak sengaja menemukan asm yang memanggil si main

image