기존 이솝 임베디드 포럼의 지식인 서비스가 게시판 형태로 변경되었습니다.

안녕하세요

 

s3c6410에 ucos를 올릴려고합니다.

 

arm9은 많은데

arm11은 직접 소스를 변경해서 포팅해야 할거 같습니다.

 

가장 큰 걱정은 부팅을 어떤식으로 처리해야할지 몰라

걱정됩니다.

아시다싶이 어셈블리어로 짜야하는데

간단한 변경이 아닌

부트코드 전체를 어셈으로 코딩하는거는 자신이 없거든요

 

그래서 생각한 방법이

u-boot를 s3c6410 초기화 한후 ucos로 점프하는 방법을

생각중인데

 

이 아이디어가 가능한건지 궁금하네요.

만약 가능하다면 u-boot에서 ucos로 넘어갈때 어떤 처리가 필요할지

궁금합니다. ㅎ


고도리

2012.07.31 23:56:42
*.200.239.234

일단 제가 구할 수 있는 자료가 있었는데, 날려 먹었답니다........ㅠ.ㅠ


해서, 요즘 주말마다 와서 작업하라고 족(?)치고 있습니다.

저도 비슷한 고민을 해 봤는데


1. exception vector에 문제가 생길 듯 합니다.

해서 os에서는 high vector로 변경을 해야할 듯 합니다.


2. 아니면, 작업했던 후배 얘기로는 u-boot의 exception vector에서 jump되는 함수를 os의 exception vector 함수로 변경을 시켜서 작업을 했었단 얘기를 합니다.


참고하시기 바랍니다.

Supsupi

2012.08.01 00:34:40
*.108.40.209

흠.. 그냥  u-boot를 사용하지말고

s3c2440용으로 포팅된 소스에서

부팅부분을 어셈블러를 보고 따라하는게 더 쉬울까요?

 

걱정되는부분은 포팅을 2주안에 해야하는데 가능할지도 잘 모르겠네요.

 

그리고 high vector를 개념이 잘 이해 안됩니다. ㅎ

Supsupi

2012.08.01 00:56:39
*.108.40.209

그리고 혹시 u-boot의 어디에 exception vector가 있는지도 알고 싶습니다. 꾸벅(_ _)

고도리

2012.08.01 00:54:43
*.200.239.234

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도 마찬가지고요.

Supsupi

2012.08.01 01:17:50
*.108.40.209

감사합니다. 정말 많은 도움이 되었습니다. (_ _)

관리자

2012.08.01 06:29:30
*.200.239.234

http://recipes.egloos.com/4986862


인터넷 찾아보니 이 글이 있네요. 아주 친절하게 설명되어 있으니 참고하시기 바랍니다.

Supsupi

2012.08.02 10:53:00
*.108.40.209

감사합니다. 제가 보고있는 책내용인데 몰랐네요 ㅡ.ㅡ ㅎ

List of Articles
번호 제목 글쓴이 날짜 조회 수sort

사용자 로그인