[DSP]/DSP60002011. 7. 4. 23:00

[TMS320C6720 EVM] 보드 개발기 - GPIO 제어 (LED 테스트)

[TMS320C6720 EVM] 보드 개발기 -  GPIO 제어 (LED 테스트)



TMS320C6720 EVM 에는 GPIO테스트를 위한 2개의 LED가 있다. 각각 AXR0[14], AXR0[15]에 연결되어 있다.



AXR은 McASP 핀으로 GPIO로 설정 가능하다. AMUTE를 제외한 모든 McASP핀은 양방향 입출력핀이다. 

설정 레지스터
· Pin function register (PFUNC): McASP or GPIO 선택
· Pin direction register (PDIR): 방향 설정
· Pin data input register (PDIN): shows data input at the pin
· Pin data output register (PDOUT): data to be output at the pin if the pin is configured as GPIO output

참고로 C6713과 레지스터주소가 다르므로 헤더파일 수정할 필요가 있다. C671x는 그나마 예제가 좀 있긴한데 C672x는 전혀 자료가 없다. 이쪽은 지원을 안하는건지..



TMS320C6720 GPIO블록도



[TMS320C6720 EVM] LED제어 드라이버 설정
#define PFUNC0      *(volatile int *)0x44000010
#define PDIR0      *(volatile int *)0x44000014
#define PDOUT0     *(volatile int *)0x44000018
#define PDIN0      *(volatile int *)0x4400001C
#define PDSET0      *(volatile int *)0x4400001C
#define PDCLR0     *(volatile int *)0x44000020

#define Led1Off()      Sbi(PDSET0, LED1_BIT);NOP()
#define Led1On()      Sbi(PDCLR0, LED1_BIT);NOP()
#define Led1Toggle()     Tbi(PDOUT0, LED1_BIT)
#define Led1Init()       Sbi(PFUNC0, LED1_BIT);Sbi(PDIR0, LED1_BIT);


TMS320C6720 LED제어 예제 소스코드
void main()
{

 SystemInit();

 printf("[TMS320C6720 EVM] Test Program.\n");

 //Led Init..
 Led1Init();
 Led2Init();

 Led1Off();
 Led2On();

 while(1)
 {
  Led1On();
  Led2Off();
  Delay(300);

  Led1Off();
  Led2On();
  Delay(300);
 }
}


C6720 LED제어 테스트 동영상

Posted by nexp

댓글을 달아 주세요

[DSP]/DSP60002011. 7. 4. 21:30

[TMS320C6720 EVM] 보드 개발기 - C6720 개발환경설정

[TMS320C6720 EVM] 보드 개발기 - C6720 개발환경설정


CCS3.3을 이용하여 TMS320CC6720 개발하기 위한 환경 설정 방법을 정리 해 본다.
일단 기본적인 동작을 테스트 하기위해 이므로 최대한 간단하게 작성해 보았다.

먼저 CCS3.3 실행하고 새로운 프로젝트를 생성한다.



옵션 설정
TargetVersion을 C670x로 설정 한다.



파일 PATH잡아 주고



main.c,  system.c, cmd파일 링크 시키고 간단한 예제를 작성해 보았다.
컴파일 하니 정상 으로 컴파일 된다. 다운로드 해서 메시지 창에 데이터 출력까지 확인 된다.





CCS4 를 이용한 C6720 개발환경 설정
TI에서 제공하는 RTOS SYS/BIOS를 이용하려면 CCS4이상이 필요하다. CCS4에서 TMS320C6720 개발환경 설정하고 테스트 해 보았다.

C6000 타입의 새로운 프로젝트를 생성한다.



기본 설정 선택



디렉토리 PATH설정



CCS4에서 기본적인 설정 완료하고 컴파일 결과 C6000 프로젝트파일이 잘 컴파일 되는것을 확인 할 수 있다.
Posted by nexp

댓글을 달아 주세요

[DSP]/DSP60002011. 6. 30. 12:44

[TMS320C6720 EVM] 보드 개발기 - 메모리 구조 파악

[TMS320C6720 EVM] 보드 테스트기 - 메모리 구조 파악
C6720의 내부 램과 롬의 구조는 단순하고 효율적이다. 롬은 64비트 4개 뱅크, 256비트 2개 뱅크로 구성되어 있다.
램은 하나의 256비트 페이지와 8개의 32비트 뱅크로 구성된다.
아래 그림에서 처럼 0x1000 0000 번지가 램의 시작 번지 이다.



C6720 CMD파일
일단은 내부 램(0x1000 0000)에 올리는것으로 하고 CMD파일을 작성해 보았다.
-c
-heap  0x2000
-stack 0x4000
 
/* link with the C67x+ rts library */
-l rts67plus.lib

/* link the software system patch into the application */
/* required for proper device operation */
-l ..\libs\applySystemPatch.obj              
-l ..\libs\c672xSystemPatchV2_00_00.lib
/* link in the c67x sw DSP lib */
-l ..\libs\dsp67x.lib

MEMORY
{
    /* rom memory map */
    IROM_BOOT:       o = 00000000h   l = 00020000h
    IROM_DSPLIB:     o = 00020000h   l = 0000C000h
    IROM_FASTRTS:    o = 0002C000h   l = 00004000h
    IROM_BIOS:       o = 00030000h   l = 00030000h           /* ram memory map */

    /* reserved at boot for bootloader */
    IRAM_BOOT:       o = 10000000h   l = 00001000h

   /* internal ram available for user applications */
    IRAM_USER:       o = 10001000h   l = 0003F000h
}
SECTIONS
{
    /* C standard sections */
    .text    >    IRAM_USER
    .stack   >    IRAM_USER
    .far     >    IRAM_USER
    .switch  >    IRAM_USER
    .tables  >    IRAM_USER
    .data    >    IRAM_USER
    .bss     >    IRAM_USER
    .cinit   >    IRAM_USER
    .sysmem  >    IRAM_USER
    .const   >    IRAM_USER
    .cio     >    IRAM_USER
    .pinit   >    IRAM_USER
}
Posted by nexp

댓글을 달아 주세요