'MMU'에 해당되는 글 2건

  1. 2009.03.20 ST40 MMU (9)
  2. 2008.06.11 ARM Memory Management Unit

ST40 MMU

Feeling a little peculiar 2009. 3. 20. 23:04
헉... 작년 크리스마스 이브에 발표했던 거네... 지금 보니까 완전 허접... (그때봤을 때도 무진장 허접했지만..)

사실 이걸 만들고... 계속 블로그에 올린다 올린다 한게 지금까지 뻐땡기고 있다가 (좀더 보완환다는 핑계로) 이걸 올려놔야 계속 생각나겠다 싶어서 올림...

그래도 나름 이때 열심히 봐서 이번에 loader 작업 등등 할때는 좀 편했다는...

Keynote로 작업했는데... 사실 작업이라기보다 그냥... 탬플릿만 가져다 쓴.. -.-


Posted by 강군님

댓글을 달아 주세요

  1. 레이 2009.04.15 16:22  댓글주소  수정/삭제  댓글쓰기

    전 이제 st40 기반인 보드에 로더 작업하고 있습니다..안그래도 MMU 데이터시트로만 볼려고하니 이해가 잘안댔는데..^^좋은 자료 감사합니다....이제 입사 3달차인데;;저도 언능 강군님처럼...잘했으면 좋겠네여;;;

  2. Favicon of https://kangun.tistory.com 강군님 2009.04.15 17:34 신고  댓글주소  수정/삭제  댓글쓰기

    도움이 되었으면 좋겠습니다.. 이거 워낙 자료가 허접해서.. 누구 보여드릴려고 올린게 아니라.. 별 도움이 안되실 것 같습니다.. 혹여나 뭔가 막히시는게 있으면... 메일 주세요 ^^;;

  3. 레이 2009.04.22 21:55  댓글주소  수정/삭제  댓글쓰기

    메일 주소를 몰라서 여기다 질문좀 할게여..

    sh4-linux-gdb 로 부트로더 동작상태까지는 만들었습니다.
    mb442로 컴파일해서 올렸습니다.
    근데 재가 쓰는 칩이 sti7101이어서 MAC칩은 STE100P를 씁니다..
    cmd_net.c mb442.h mb442.c stm-stmac.c 들을 바까서 프롬포트 상에서 ping 을 쳐보니
    STM-MAC: Unable to find a PHY (unknown ID?)
    STM-MAC: Phy not detected
    STM-MAC: entering eth_send()
    TX : 0x87f20200 DA=ff:ff:ff:ff:ff:ff SA=04:00:00:00:bc:c5 Type=0806
    이런식으로 아이디를 디텍했지 못했다고 나옵니다...;;
    이더넷 베이스 주소는 a811 0000 으로 했습니다..29비트 모드이고요.. 어디가 문제인지 ㅜㅜ 못찻겠네여...괜찮으시면..답변좀 부탁드립니다...

    • Favicon of https://kangun.tistory.com 강군님 2009.04.23 08:45 신고  댓글주소  수정/삭제

      STLinux에서 u-boot을 참조하실 수 있습니다. 혹시라도 아직 참조 전이시라면 도움이 될 것 같습니다.

      말씀하신 건, 말 그대로 PHY와 GMAC과의 통신이 되지 않는 상태입니다. MII가 됐던 뭐가 됐던 일단 두 장치간의 interface를 뚫어주어야 하죠.

      STE100P가 MAC칩인가요?? 저는 PHY칩인줄 알았는데요.. 저는 GMAC (ethernet sub-system)에 PHY칩을 달아서 개통했습니다. 그 부분부터 확인해보셔야겠네요 :)

  4. 레이 2009.04.30 17:28  댓글주소  수정/삭제  댓글쓰기

    안녕하세요....좀처럼 해결이 안대서 또 질문하네요...
    현재 sti7101 와 ste101p (phy칩이 였습니다...재가 잘못알았네요) 끼리는 인터페이스 원할이 대고 있습니다.
    현재 메인 클럭은 27MHZ로 쓰고있습니다. 데이터 시트를 보면
    MD0~ MD3이 0일경우
    CKGA_PLL1_CFG 와 CKGA_PLL2_CFG 에는 PLL1과 PLL2에 533MHZ와 400MHZ로 리셋시 셋팅이 되어있습니다. 저희 보드에도 MD0~MD3에는 0이 셋팅되있으나 CKGA_PLL1_CFG와 2에는 각각 30MHZ기준으로 되었을때의 값이 셋팅이 되고있습니다. 그래서 PLL2에는 360MHZ가 나가면서 ste101p의 RXCLK,TXCLK클럭들이 다 360MHZ를 분주해서 나가면서 클럭이 낮아지는 현상이 있습니다.
    그래서 데이터 시트에 클럭 CHANGE시 순서대로 SOC_INIT에 코딩해보왔지만 시스템이 부팅이 안됩니다. init-mb442.S에 클럭을 바까주는 코드가 있는데 그것을 이용하려고 하는데 잘 안대네요...혹시 저와 비슷한 상황이셨거나 아시는 부분이 있으면 간단한 의견 부탁드릴게요.

    아직 초보 개발자이다 보니 질문도 너무 부족하네요 회사에서도 ST는 처음이라서 물어볼 곳이 없습니다..질문이 부족하지만 이해부탁드리겠습니다..ㅜㅜ

  5. 레이 2009.05.01 17:42  댓글주소  수정/삭제  댓글쓰기

    ㅜㅜ 다행이 답변안하셧네요...1주일동안의 삽질이 JTAG과의 인터페이스상에서 CLK을 JTAG이 바꿔주고 있었네요...

  6. 레이 2009.05.11 21:56  댓글주소  수정/삭제  댓글쓰기

    훗..연휴는 잘쉬셧는지 한동안 다른 문제때문에 다른일하다가 다시 이더넷을 잡고있는데 이게 언제까지 안될지 모르겠습니다..어제부터는 하드웨어적으로 분석해보왔는데도 하드웨어는 이상이 없는거같네요... 그러다 OS21의 STMAC 코드를 보게되었는데 인터럽트 쪽을 제어해주는 부분이 있더군요... 혹시 강군님도 인터럽트 쪽 코드를 수정하셨나요?...수정하셧다면 어느부분인지..관련 소스부분은 다 뒤져봣는데 찾을수가 없네요.ㅠㅠ

  7. Favicon of https://kangun.tistory.com 강군님 2009.05.12 09:25 신고  댓글주소  수정/삭제  댓글쓰기

    OS21의 STMAC쪽 코드라면 OS+ 라이브러리를 말씀하시는건가요??

    사용하는 PHY 칩에 따라서 인터럽트 핀이 있고 없는 것이 있습니다.. RTL8201CP같은 경우는 없는 경우에 속합니다. 그래서 link detect등을 감지할 때는 polling을 해야 하므로 ISR은 구현하지 않았습니다.

    STGMAC의 ISR은 직접 작성을 해주셔야 할겁니다. 말씀드린 것처럼 OS+는 써드파티에 제공되는 라이브러리 형식이라... 소스 코드로 찾아볼 수는 없습니다.

    TX쪽 코드는 u-boot의 그것을 참조하시면 쉽게 판단이 가능한데, RX쪽 코드는 그렇지가 않을 겁니다. (u-boot은 polling으로 처리) 저 같은 경우는 ISR을 직접 작성했습니다.. 생소했던 개념들이 많아서 애를 먹었습니다만... u-boot과 STLinux 코드를 참조하시면 구현 가능하리라 생각됩니다. 좋은 하루 보내세요 (--)(__)

2008년 6월 11일 발표한 ARM MMU 세미나 자료
Posted by 강군님

댓글을 달아 주세요