Timer interrupt 내부에서
메모리 읽어서 외부로 보낼려고 하는데 Shift 연산이 많아서
1ms 이내의 resolution 이 필요한데 64ms 이상 걸리는군요..
할 수 없이 CPLD에서 shift 연산을 구현 시켜놓고(VHDL도 만만찮군요 ㅠ.ㅠ - 50%정도 구현중 : 될지 안될지도 미지수)
외부어드레스 를 배열처럼 사용할려고 하는데, 표현방법을 모르겠습니다.
CPU는 44b0x를 사용하고 있습니다.
컴파일러는 IAR 입니다.
CPLD 에서 0x06000000 ~ 0x060000ff 까지 쓸 수 있게끔 되어 있습니다.
외부 Address로
#define CPLD_WRITE (*(volatile U16 *)0x06000000)
이렇게 지정하면 이 한번지에 대해서는
CPLD_WRITE = 0x1234;
이렇게 되는데...
CPLD_WRITE 의 어드레스를 1씩 증가 하면서 데이터를 넣을려고 합니다.
CPLD_WRITE[i] = 0x1234; <== 개념은 이런식으로 하고 싶은데
계속 에러를 뿜는군요..
MMU setting을 해서 사용하시던지 ioremap을 사용하시기 바랍니다.
추천하는 녀석은 mmu setting입니당...