디바이스 드라이버 안에서 특정주소를 ioremap으로 할당했을 때 ioremap으로 할당한 주소를 포인터 연산으로 접근 가능한가요? int *temp = ioremap(0x80000000, 32) 이런식으로 할당했을 때 printk("%d", *temp) 이런식이나 레지스터라고 했을 때 값을 바꿔주고 싶으면 *temp = 111 이렇게 하는게 가능한가요? 아니면 ioread나 iowrite를 통해서만 접근이 되나요?
아래와 같은 코드는 많이 쓰는 스타일 입니다. 다만, 컴파일러가 코드를 옮기지 못하도록 volatile 을 넣어주면 좋습니다.
uint32_t tmp; volatile uint32_t *reg = ioremap(0x12340000, 0x100); reg[0] = 1; reg[1] = 2; tmp = reg[2];
텍스트 포맷에 대한 자세한 정보
<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]
아래와 같은 코드는 많이 쓰는 스타일 입니다. 다만,
아래와 같은 코드는 많이 쓰는 스타일 입니다. 다만, 컴파일러가 코드를 옮기지 못하도록 volatile 을 넣어주면 좋습니다.
댓글 달기