[질문] 절대주소 참조법

jenosys의 이미지

안녕하세요.

리눅스나 솔라리스에서 바이오스 절대 주소를 참조 하고 싶습니다.

윈도우/도스 머신에서는

int *timer = (int *)0040006c 를 하게되면

바이오스 타이머가 직접 에세스 되서

사용할수 있는데 리눅스/ 솔라리스에서는 안되더군요

절대 참조 주소를 아시거나 방법을 아시는분 좀 알려주세요.

darkblue99의 이미지

절대 참조주소가 무엇인지를 잘 몰라서..

음. linux에서는 Physical 주소로 바로 접근이 안되고..(데이타시트주소..)
Logical address로 바꾸어 접근해야 합니다.

ioremap을 쓰시죠..
아님.. phy_to _virt()인가? 음. 비슷한 함수인데..
이런거 쓰시면 되여..

근데 이거 kernel 프로그래밍 질문아닌가?

Be Postive!

sjpark의 이미지

옛날 도스 방식으로 한다면 FAR Pointer(Turbo C)의 사용과 비슷한거 같은데요

Unix계열에서 사용자 프로그램이 Bios영역등 특별한 곳의 메모리를

직접 접근할 수 없습니다.

위에 예로 든 타이머를 얻기 위해서 라면, 유닉스에서 타이머의 역할을 할 수 있는 함수가 있습니다. 또는 rtc라는 device가 있는데(물론 커널 컴파일시 설정된 경우) 이런것을 이용해도 될것 같아요..(지금 정확히 기억나질 않아서..)

같은 맥락으로, Memory Mapped IO(Video access등)을 직접 할 수 없습니다.

불량청년의 이미지

mmap();으로 구하는게 아닐런지요?

H/W가 컴퓨터의 심장이라면 S/W는 컴퓨터의 영혼이다!

pleasantman의 이미지

www.kelp.or.kr 에 가시면..

mmap()에 대한 example 코드 하나 정도 있을 겁니다.

직접 주소를 읽기 위한 함수로 알고 있습니다.

윗분과 같은 의견이네요..

만약에 어떤 특정 하드웨어의 주소를 고정하시고( memory에 맞게.. )

읽고 쓰시고 제어를 하시려면. 드라이버를 구현하시는게

미래를 위해서 좋을 듯 합니다..

sjpark의 이미지

mmap쓰면 되겠네요 =_=;;

/dev/mem이 physical memory를 가리키는 장치라고 하니.. mmap으로 필요한 부분의 memory를 매핑시켜서접근하시면 되겠네요..

댓글 달기

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
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.