임베디드를 공부하면서 생긴 몇가지 질문

monibu1548의 이미지

이번 방학을 다 투자해서 임베디드에 관해서 공부를 하게 됐는데.

임베디드 레시피, 리눅스 커널 내부구조, 리눅스 디바이스 드라이버 등의 책을 살펴봤습니다.

다 공부하고나니 어떻게 돌아가는지 전반적인 내용이 이해가 가는데. 몇가지 이해가지 않는 세부 내용이 있어 질문드립니다.

이번에 도전하고싶은 프로젝트를 생각해보면서 고민해본 부분들 먼저 질문 드리겠습니다.

간단한 하드웨어 장치를 만들어서 디바이스 드라이버를 만들어서 마우스로 사용하는 것이 목표입니다.

1. 하드웨어에서 값을 가져오려면 그 장치의 메모리주소를 가져와서 디바이스 드라이버에서 사용을 해야 할 텐데. 내가 만든 장치가
어느 메모리 주소에 위치하는지 어떻게 알 수 있을까요.

2. 아마 장치가 USB로 연결이 되어야겠지요. 그러면 이게 장치파일중에 USB로 연결이 되는지 아니면 별도의 장치파일을 생성해야하나요.

3. 결국에 마우스 포인터가 얼마나 어느방향으로 움직일지 하드웨어값으로 구해야 하는데. 그 변환과정은 하드웨어에서 처리해야하는지. 아니면 값자체를 디바이스 드라이버에서 처리해야하는지.

4. 하드웨어가 움직이면 디바이스 드라이버에 그 값들을 줘야하는데 그 값들은 인터럽트로 주어야하는지.

진짜 많이 공부한다고 했는데..다 제각각 놀고있네여.. 서로 합쳐서 생각하려니까. 커널버전마다 다른부분도 많고.. x86이랑 arm도 다르고..

머릿속에 어떻게 정리해야할까요..

익명 사용자의 이미지

하드웨어 장치를 만들어보시면 위의 질문들에 대한 답이 저절로 나올것 같네요.

arm 기반으로 회로를 만들어 보시고 필요한 칩이 뭐가 있는지 그 칩들의 데이터시트도 찬찬히 읽어보고요.

하지만 말이 쉽지 USB 하나 붙이는데도 어려운게 많습니다.

다른 쉬운 방법으로는 가지고 있는 PC 에 USB 마우스를 제어하는 디바이스드라이버를 직접 만들어보면 됩니다.

댓글 달기

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