기존 이솝 임베디드 포럼의 지식인 서비스가 게시판 형태로 변경되었습니다.
안녕하세요
s3c6410에 ucos를 올릴려고합니다.
arm9은 많은데
arm11은 직접 소스를 변경해서 포팅해야 할거 같습니다.
가장 큰 걱정은 부팅을 어떤식으로 처리해야할지 몰라
걱정됩니다.
아시다싶이 어셈블리어로 짜야하는데
간단한 변경이 아닌
부트코드 전체를 어셈으로 코딩하는거는 자신이 없거든요
그래서 생각한 방법이
u-boot를 s3c6410 초기화 한후 ucos로 점프하는 방법을
생각중인데
이 아이디어가 가능한건지 궁금하네요.
만약 가능하다면 u-boot에서 ucos로 넘어갈때 어떤 처리가 필요할지
궁금합니다. ㅎ
1. 2440용을 참고하는게 가장 좋기는 할텐데, 문제는 interrupt controller와 timer 부분입니다.
이 부분이 바뀌었습니다.
2. high vector는 일반 arm의 경우 0번지서부터 exception vector가 존재합니다.
해서 u-boot도 보면 0번지서부터 reset vector등이 할당되어 있습니다.
그런데, OS등의 경우는 0번지를 user용도로 사용하는 경우가 많습니다.
해서 arm cpu를 보면 cp15 control register의 bit 13을 enable 시키면 ffff0000으로 exception vector가 세팅이 됩니다.
os를 올릴때는 이 부분을 사용하는 경우가 많습니다. linux도 마찬가지고요.
일단 제가 구할 수 있는 자료가 있었는데, 날려 먹었답니다........ㅠ.ㅠ
해서, 요즘 주말마다 와서 작업하라고 족(?)치고 있습니다.
저도 비슷한 고민을 해 봤는데
1. exception vector에 문제가 생길 듯 합니다.
해서 os에서는 high vector로 변경을 해야할 듯 합니다.
2. 아니면, 작업했던 후배 얘기로는 u-boot의 exception vector에서 jump되는 함수를 os의 exception vector 함수로 변경을 시켜서 작업을 했었단 얘기를 합니다.
참고하시기 바랍니다.