PCI device driver 제작시 질문

dipole의 이미지

안녕하세요.

DSP PCI card 에 대한 디바이스 드라이버를 작성하려고 삽질중입니다.
아직 개념적인 부분이 헛갈리는 부분이 있습니다.

일단 PC 에서 pci device 를 인식하고 base address 를 모두 읽어왔습니다.
그런데 DSP chip 이 가지는 자체의 메모리 영역이 4G 입니다.
0x0000 0000 부터 0xffff ffff 까지 내부 세팅부터 dsp에 붙어있는 메모리 영역까지 모두 메핑되어 있습니다.

저는 이 dsp 의 각 레지스터를 세팅하고 dsp 에 붙어있는 메모리를 읽고 싶습니다.

그런데 base address 만을 가지고 dsp 의 내부에 매핑되어 있는 4G 의 메모리를 access 하기 위해서는 어떻게 해야 하는지 이해가 안됩니다.

예를 들어 읽어온
base address0 = 0xee00 0000 - 0xee7f ffff (profetchable 32bit memory)
base address1 = 0xee80 0000 - 0xeebf ffff (non-prefetchable 32bit memory)
0xe800 - 0xe80f (I/O address)

이 세가지를 읽어왔는데 dsp 내부의 각종 메모리 영역과 읽어온 base address 의 관계는 어떻게 이루어지는 것인지 궁금합니다.

그럼 많은 답변 부탁드려요.

hb_kim의 이미지

4G 어드레스를 갖는 DSP 인데, PCI 인터페이스로는 8M 만 보여지므로 어디엔가 뱅크를 제어하는 레지스터가 있을듯합니다.

하드웨어 매뉴얼을 직접 찾아보시던지, 아니면 매뉴얼에 링크를 걸어주세요.

darkblue99의 이미지

위의 분이 말씀하신게 정답인데..
pci view가 datasheet에 나와있을겁니다.
즉 pci 쪽에서 바라보는 memory map이 있거나
또는 register map이 존재할 겁니다.
DSP의 address map과는 조금 다르죠.
아마 datasheet에 둘다 나와있을텐데요~

Be Postive!

dipole의 이미지

예.... 말씀하신대로 pci 인터페이스에서 바라보는 사이즈가 8M 이므로 관련된 4G를 access 하기 위해서는 간접어드레싱을 하는 무엇인가가 있을 것으로 보고 데이타쉬트를 이잡듯이 뒤져보았지만 못찾았습니다.(능력이 부족한것인지... ㅜㅜ).
때문에 DSP 데이타쉬트뿐아니라 관련된 문서를 더 찾아 보아야 할듯합니다. 일단 링크를 걸어봅니다.

http://focus.ti.com/docs/prod/folders/print/tms320dm642.html#technicaldocuments

이상한 일이네요.. 저도 내부 메모리 맵과 외부에서 바라볼때의 메로리 맵핑이 나와 있을 것으로 생각되는데... ㅜㅜ 왜 제눈에는 안보이는지... 그럼.. 혹시라도 찾으시면 어디에 나와 있는지, 아니면 설명을 부탁드립니다.

너는 누구냐?

dipole의 이미지

C6000 시리즈에 공통적으로 적용되는 PCI I/F 관련 문서가 따로 있네요. 칩셋메뉴얼에는 나와 있지 않고요.
그것도 모르고 데이타타 쉬트만 이잡듯이 뒤졋으니 안나오죠... ㅜㅜ 좀더 진행해보고 질문이 있으면 올리겠습니다.

너는 누구냐?

댓글 달기

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 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <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].
  • 사용할 수 있는 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>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <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].
  • You can use Textile markup to format text.
  • 사용할 수 있는 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>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <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].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 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>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.