저 벡터에 대한 질문 이어염

warpaint의 이미지

책을 보는 도중에
잘 이해가 가지 않는 것들이 있어서 질문을 드려여
Exception은 무언인가요 이것의 종류가 7개가 있다고 하는데 무엇인지 무슨
작업을 하는지...
그리고 벡터 테이블이랑 벡터 주소가 무엇인가요 이것들은 어떤 일을 수행하기
위해서 있는지 궁금합니다.

그럼 오늘도 즐거운 하루 되세여

madhatter의 이미지

무슨 책을 보셨는지 알아야할 것 같습니다만..

warpaint의 이미지

ARM9 부트로더를 보는도중에....나와써여

잘 부탁드려염

fairly의 이미지

warpaint wrote:
책을 보는 도중에
잘 이해가 가지 않는 것들이 있어서 질문을 드려여
Exception은 무언인가요 이것의 종류가 7개가 있다고 하는데 무엇인지 무슨
작업을 하는지...
그리고 벡터 테이블이랑 벡터 주소가 무엇인가요 이것들은 어떤 일을 수행하기
위해서 있는지 궁금합니다.

그럼 오늘도 즐거운 하루 되세여

벡터에도 종류가 여러가지인데 , 어떤 벡터를 말하시는 건지....
수학에도, 자료구조에도 ,mcu에도....

머 대충 벡터 테이블이 나오는 거 보니. mcu쪽 물어보시는 거 같은데...
천상 소프트웨어 쟁이 인 제가. 귀동냥으로 들은 내용을 어설프게 나마 말한다면...

* 주의: 그냥 개념입니다. 똑 같다고는 생각지 마세요.

일종의 인터럽트 데이블과 비슷할까요?. 흠 그러고 보니 가상 함수 테이블 과도 유사하군요..

포인터의 배열이라고 생각하시면 쉽겠네요. 각각의 포인터는 특정한 주소를 가리키고 있고 그 주소에는 해당 실행 루틴이 있고요.

어떤 예외 사항(Exception)이 발생 했을 경우., ( 메모리 쓰기 오류 라던지, reset이라던지) 벡터 테이블이 있는 주소로 뛰는 거죠(예외 상황 발생이죠)

이때 인덱스를 통해서 해당 실행 루틴이 있는 주소를 알아내고 그리로 점프!!!

머 이런 원리겠죠... 자세한 건 저도 멀라요.

그리고 질문에 상황 설명도 좀 해주시면 좋겠는데요.
답변을 쓰고서도 동문서답한게 아닐까하는 불안감이 생깁니다.

그럼이만

jj의 이미지

process 내부에서 생긴 trap을 exception이라고 하는 것 같습니다만... 0으로 나누기, page fault, seg fault, invalid op. 등등등

--
Life is short. damn short...

익명 사용자의 이미지

warpaint wrote:
책을 보는 도중에
잘 이해가 가지 않는 것들이 있어서 질문을 드려여
Exception은 무언인가요 이것의 종류가 7개가 있다고 하는데 무엇인지 무슨
작업을 하는지...
그리고 벡터 테이블이랑 벡터 주소가 무엇인가요 이것들은 어떤 일을 수행하기
위해서 있는지 궁금합니다.

그럼 오늘도 즐거운 하루 되세여

MCU의 interrupt pin에 전기적 신호가 들어오면 MCU는 내부적으로 해당 인터럽트에 대응하는 주소로 점프하게 됩니다.
vector table은 interrupt와 interrupt 발생시 jump해야 하는 주소를 나타내구요. 벡터 주소는 interrupt 발생시 jump해야 하는 주소입니다.
보통 MCU data sheet 보면 interrupt 명과 그에 해당하는 주소들이 나와있습니다.
암튼 실제로 interrupt와 관련된 제어를 하기 위해서는 interrupt control register와 같은 것들 세팅하고요. 모 우선순위 설정하고 enable 할까 말까 이런거 설정하는 거죠.
그 7개라는것은 arm 에서 reset, undefined instruction, software interrupt, prefetch abort, data abort, irq, fiq 모 이거 이야기 하는거 같군요.

댓글 달기

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