<p>안녕하세요. 소포트웨어를 잘 모르는 하드웨어 설계자 입니다.</p> <p>현재 OS없는 환경에서 MCU(자작 risc-v 32IM)를 구동합니다.</p> <p> <span style="background-color:#ffffff;color:#232629;font-family:'-apple-system', BlinkMacSystemFont, 'Segoe UI', 'Liberation Sans', sans-serif;">Assembly code를 compile하여 구동하면 잘 동작하지만,</span> </p> <p> <span style="background-color:#ffffff;color:#232629;font-family:'-apple-system', BlinkMacSystemFont, 'Segoe UI', 'Liberation Sans', sans-serif;">C code를 compile하여 구동하면 stack pointer 때문에 오동작 됩니다.</span> </p> <p> <font color="#232629" face="-apple-system, BlinkMacSystemFont, Segoe UI, Liberation Sans, sans-serif"><span style="background-color:#ffffff;"> </span></font> </p> <p> <font color="#232629" face="-apple-system, BlinkMacSystemFont, Segoe UI, Liberation Sans, sans-serif"><span style="background-color:#ffffff;">C code를 compile하면 항상 초기에 stack pointer 동작을 합니다.</span></font> </p> <p> <font color="#232629" face="-apple-system, BlinkMacSystemFont, Segoe UI, Liberation Sans, sans-serif"><span style="background-color:#ffffff;">그러나 초기 stack pointer 값은(sp register) ZERO로 시작입니다. (reset value)</span></font> </p> <p> <font color="#232629" face="-apple-system, BlinkMacSystemFont, Segoe UI, Liberation Sans, sans-serif"><span style="background-color:#ffffff;">해당 동작으로 인해, instruction 영역 밖으로 점프하는 오동작 현상이 발생합니다.</span></font> </p> <p> <font color="#232629" face="-apple-system, BlinkMacSystemFont, Segoe UI, Liberation Sans, sans-serif"><span style="background-color:#ffffff;">초기 stack pointer 값을 설정하는 방법이 있을까요?</span></font> </p> <p> </p> <p>compiler는 gcc(github toolchain)을 사용하고 있습니다.</p> <p> </p> <p>감사합니다.</p> <p></p>
댓글 분란 또는 분쟁 때문에 전체 댓글이 블라인드 처리되었습니다.