Kernel 일부를 다른 메모리에서 수행시키려면
글쓴이: xilog / 작성시간: 화, 2007/10/30 - 11:45오전
안녕하세요, 현재 kernel 전체가 외부 메모리에 저장되어 있고 cache를 통해서 수행되고 있는데요..
저희가 개발한 driver가 timing critical한 부분이라서
그 부분만은 따로 chip 내부의 embedded SRAM에서 수행하도록 하고 싶습니다.
내부 메모리 주소 영역을 mmu에서 cache 안하도록 하고,
compile/link시 특정 코드를 내부 메모리 주소에 로드하도록 하는 등의 작업을 해야 할 거 같은데,
가능한지, 어떻게 하면 되는지, 아니면 참고할 만한 자료나 사이트 등을 알려 주시면
정말 감사하겠습니다.
Forums:
자세한 상황은
자세한 상황은 모르겠지만, timing critical한것은 실제로 실행되는 코드가 어디서 실행되느냐 보다는 그 외적인 부분에 더 영향을 받지 않을까요? (interrupt latency 등등등) memory의 빠른 읽고 쓰기가 필요해서 sram cache를 따로 커널에서 사용하는 경우는 봤지만 이런 경우는 잘 못봤습니다. 만약 정말로 그 코드 자체가 빨라야 한다면 그 메모리 영역에 이미 있는 함수를 복사해서 함수포인터를 부르듯이 사용한다면 가능 할수도 있어보이긴 합니다.
댓글 달기