안녕하세요.

Bootloader를 이용해서 user application을 개발하고 있답니다.

즉 Linux커널을 사용하지 않고 C 프로그램을 작성하여 컴파일하고 Bootloader

를 이용하여 제가 원하는 영역에 다운로드를 받은다음 GO 명령을 사용하여

보드를 구동 시키려 하고 있습니다.

질문 사항은 아래와 같이 두가지 입니다.

첫째, Bootloader보니 GoFunction 이 주석처리 되어있더군요. 이부분 관련해서

PC에 점프하고 싶은 Address를 넣어주면 되는 건지 궁금합니다. 예제 같은건

없나요?

두번째는 , User application 프로그램 작성은 새로운 파일을 하나 만들어

Linux에서 컴파일 한후 m01보드의 Ram 영역에 올릴껍니다. 이때 User 프로그램

은 어떤 형식으로 작성해줘야 하는지 궁금합니다. void main(void)형식으로

개발을 하고 싶은데 방법을 몰라서 이렇게 질문 드립니다.

그럼..

PS: GoKernel 함수를 참고하여 아래와 같이 코드를 작성해 주었어요. 물론
DEFAULT_RAM_USERAPP_START는 헤더파일에 정의 를 했고요.
bootloader상에서 go를 치면 GoFunction이 실행되도록 했는데
DEFAULT_RAM_USERAPP_START에 플래쉬에 넣은 똑같은 부트로더 이미지를 올리
고 그쪽으로 점프하도록 하면 똑같이 부트로더가 떠야 하는거 아닌가요?
뜨질 않는군요. 점프프로그램이 잘못 작성되었나요?



int GoFunction(int argc, char **argv){

void (*prgstart)(int zero, int arch);
prgstart = (void (*)(int, int))DEFAULT_RAM_USERAPP_START;

//#define DEFAULT_RAM_USERAPP_START 0xC0000100
//Userapplication Program start address
prgstart( ( long ) 0 , (long) 200 );
printf( "Running Program!
"); //Debugging Code
return 0;
}