ioremap_nocache()에 대해 질문 드립니다.

lovejin0309의 이미지

디바이스 드라이버를 제작하고 있습니다.

ADV 7171, 7183 비디오 인,디코더 디바이스입니다.

디바이스 드라이버를 열면 다음과 같은 크기의 버퍼를 등록해야 합니다.

out_buffer 1512000 * 4
out_buffer_1 1512000 * 4
out_buffer_2 1512000 * 4

uClinux에서 미완성인채로 제공하는 디바이스 드라이버에서는
kmalloc를 사용하여 버퍼 영역을 확보하려고 되어 있습니다. 하지만 kmalloc를 사용할 경우엔 128kb 까지 밖에 확보가 안 되기 때문에 문제가 있습니다.

이상한건, kmalloc를 사용하여 공간을 확보하면 에러 메세지 없이 사용 가능하다가 조금 지나면 다음과 같은 에러 메시지를 출력하면서 죽어 버리는 겁니다.

Data access misaligned address violation 
  - Attempted misaligned data memory or data cache access.
CCPLB_FAULT_ADDR=fffffffc

여기 저기 질문을 던져 보니까 ioremap_nocache() 함수를 사용하는 것이 좋다고 하는데 ioremap_nocache()를 어떻게 사용하는 것인지 알려 주세요.

그리고 혹시 제가 생각하고 있는 설계가 잘못된 것이라면 지적 부탁 드립니다.

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.