embeded/Cortex-M3 Ti2013. 6. 28. 13:58
예전에 해봤던것 같은데.. 저장이 안되서 캡쳐
H-Flasher에서 칩을 골라주고(onchip으로 잡힘)


Ext XTAL을 설정해주면(eval 보드에 4.19MHz라고 되어 있으니..)


Programming에서 Read 할 수 있다.



2010/07/16 - [embeded/ARM] - ARM JTAG / Wiggler + H-JTAG

'embeded > Cortex-M3 Ti' 카테고리의 다른 글

LM3S Stellarisware - GPIOIntTypeSet  (0) 2015.08.03
bitband / cortex-m3  (0) 2013.08.16
cortex-m3 JTAG / X-LinkEx 1.1  (0) 2013.06.11
cortex-m3가 문제인가.. keil이 문제인가?  (2) 2013.02.05
LM3S - FlashProgram()  (0) 2012.11.06
Posted by 구차니
embeded2013. 6. 21. 09:42
많이 보이는 PL2305 칩을 사용하는 녀석은 USB 프린팅 전용으로
데이터 통신용으로 사용할 수가 없는데
왜 이녀석만 넘쳐 나는건지 이해가 안됨 -_-

아무튼.. 패러럴 포트가 없으면
드럽게 비싼 USB JTAG을 사야하니 꽁수를 찾아 보는데 이런거 발견 -ㅁ-
느리다는 단점이 있다는데 한번 구매해봐?

 
  • This USB2LPT:
    • + Emulated true parallel port with ECP/EPP
    •  Reduced speed due to emulation (expect 10..100 times slower)
    • + Base address same as built-in (378h, 278h)
    •  Doesn't work with programs that expect a true PnP driver stack (scanners, ZIP drives) and software that disables port access redirection (dongles)
    • + Additional USB->ParallelPrinter adapter built-in (High-Speed only)
    • + USB available everywhere
    •  Driver necessary
    •  Driver unstable, tricky, not certified, and currently non-functional for Win64, currently no driver for Linux
    • + open-source, multi-language
[링크 : http://www-user.tu-chemnitz.de/~heha/bastelecke/Rund%20um%20den%20PC/USB2LPT/index.html.en ] 

'embeded' 카테고리의 다른 글

Z80 M6800  (0) 2014.01.27
기즈모 스피어 / 라즈베리 파이  (0) 2014.01.02
Hi-Z / Tristate / 플로트(float)  (0) 2013.01.02
KEIL 컴파일러 종류  (0) 2012.04.21
keil 에서 inline 함수 사용하기  (0) 2012.04.21
Posted by 구차니
embeded/Cortex-M3 Ti2013. 6. 11. 18:02
cortex-m3용 저가형 JTAG을 찾을일이 있어서 테스트 해봄
VAT 포함 3.3만원 정도로 구매할수 있어
TI Evaluation 보드로 하는것 보다 저렴하게 할 수 있다.

[링크 : http://funchip.co.kr/shop/goods/goods_view.php?&goodsno=9996461&category=004004] 국내 판매 대행
[링크 : http://blog.iteadstudio.com/] 제조사
[링크 : http://wooridisplay.co.kr/Documents/X-LinkEx.pdf] 데이터 시트
[링크 : http://coocox.org/] 드라이버


근데 MDK 연동은 머가 엉겼는지 안됨 -_-



드라이버 설치하면 아래와 같이 두개가 추가된다.


일단 MDK는 포기하고 전용 프로그램으로 굽기!(coflash)


1607이라서 안될줄 알았는데 음..
elf 파일로는 문제없이 구워진다. 그리고 MDK 에서 ICDI 하는것보다 더욱 빠르게 굽고 확인한다! 우옹!


'embeded > Cortex-M3 Ti' 카테고리의 다른 글

bitband / cortex-m3  (0) 2013.08.16
LM3S1968과 H-JTAG(wiggler)  (0) 2013.06.28
cortex-m3가 문제인가.. keil이 문제인가?  (2) 2013.02.05
LM3S - FlashProgram()  (0) 2012.11.06
TI Stellaris LM3S 시리즈 ICDI가 사라졌어요!!!  (0) 2012.09.22
Posted by 구차니
embeded/Cortex-M3 Ti2013. 2. 5. 10:44
unsigned 를 int로 변경할때 코드상의 문제였나 해서 테스트를 해봤는데 -_-
헐.. 머야 이거.. 컴파일러 특성인가?

int t1,t2,t3,t4;
unsigned char t9=-1;

t1 = t9;
t2 = (char)t9;
t3 = (int)t9;
t4 = (int)(char)t9;
		
printf("%d %d %d %d",t1,t2,t3,t4);
//255,255,255,255

아무튼, cortex-m3 + keil 에서는 일단
음수일 경우(MSB가 0x80 이면)
if(t9 & 0x80) t1 = t9 | 0xFFFFFF00;
else t1 = t9;

이런식으로 구현해서 써야 할 듯 -_-

2013/02/04 - [Programming/C++ / STL] - unsigned char -> int 변환 주의사항

---
추가로 테스트 해보니 unsigned char가 아닌 char 일 경우에도
up convert시 음수에 대해서 제대로 키워주지 못하는 문제가 있다.
KEIL 컴파일러 문제이려나? 

'embeded > Cortex-M3 Ti' 카테고리의 다른 글

LM3S1968과 H-JTAG(wiggler)  (0) 2013.06.28
cortex-m3 JTAG / X-LinkEx 1.1  (0) 2013.06.11
LM3S - FlashProgram()  (0) 2012.11.06
TI Stellaris LM3S 시리즈 ICDI가 사라졌어요!!!  (0) 2012.09.22
stellarisware - UARTStdioInit()  (4) 2012.07.23
Posted by 구차니
embeded2013. 1. 2. 18:59
i2c 등의 '버스'에서 흔히 볼수 있는 이 써글 녀석은
여러개의 장비가 동시에 물려있는 '버스'특성으로 꽤나 중요한 용어이다.

버스로 물려있으면, 어떤 넘인가가 통신을 시작하기 위해서 회선을 잡고
전압을 변경할수 있어야 하는데, 이러한 Hi-Z(하이 임피던스) 상황이 아닌 High나 Low 일경우
값이 변하지 않아서 통신을 할 수 없는 문제가 발생한다.
이러한 이유로 버스로 잡혀있는 넘들은 Hi-Z 상태로 연결되어 있어야 한다.


머.. 제대로 이해한게 맞나 모르겠네..

[링크 :  http://blog.naver.com/zzong0815/100014686771]
[링크 :  http://ko.wikipedia.org/wiki/디지털_전자공학#.ED.95.98.EC.9D.B4_.EC.9E.84.ED.94.BC.EB.8D.98.EC.8A.A4]

'embeded' 카테고리의 다른 글

Z80 M6800  (0) 2014.01.27
기즈모 스피어 / 라즈베리 파이  (0) 2014.01.02
USB2LPT for JTAG  (0) 2013.06.21
KEIL 컴파일러 종류  (0) 2012.04.21
keil 에서 inline 함수 사용하기  (0) 2012.04.21
Posted by 구차니
embeded/Cortex-M3 Ti2012. 11. 6. 14:56
근 일주일을 골머리 아프게 만든 녀석...
데이터를 저장하는데 귀찮아서 몇단계 래핑해버리고 쓰다보니
그리고 정말정말 운이좋게 4의 배수로 저장이 되서 티가 안났었는데
이번에 프로그램을 수정/확장하다가 우연히 발견.. -_-

아무튼, LM3S에서(cortex-m3) FlashProgram()을 통해서 내장 플래시에 데이터를 써넣을때
4바이트 align이 되지 않으면 미치거나 죽는다 -_- (무한루프 돌고 있을지도?)
어쩌면 쓰긴 쓰는데 개비지 값이 이상한데로 튀어서 SRAM 영역 건드리는게 아닐까 싶을 정도..

10.2.2.8 FlashProgram
Programs flash.
Prototype:
long FlashProgram(unsigned long *pulData, unsigned long ulAddress, unsigned long ulCount)
Parameters:
pulData is a pointer to the data to be programmed.
ulAddress is the starting address in flash to be programmed. Must be a multiple of four.
ulCount is the number of bytes to be programmed. Must be a multiple of four.
Description:
This function programs a sequence of words into the on-chip flash. Each word in a page of
flash can only be programmed one time between an erase of that page; programming a word
multiple times results in an unpredictable value in that word of flash.
Because the flash is programmed one word at a time, the starting address and byte count
must both be multiples of four. It is up to the caller to verify the programmed contents, if such
verification is required.
This function does not return until the data has been programmed.
Returns:
Returns 0 on success, or -1 if a programming error is encountered.  

Posted by 구차니
embeded/Cortex-M3 Ti2012. 9. 22. 13:02
어느날 프로그램 구으려는데 장치를 못 찾아서 배째는 현상 발생
근 1달 넘게 손을 놓고 있었는데.. -_-t
Win7으로 갈아타려고 하면서 드라이버를 설치하면서 혹시나 했는데 역시나 해결 -_-


일단 증상은 아래와 같이 MDK에서 ICDI 설정시 Attached Devices 목록에 나오지 않는다.


정상이라면 아래와 같이 Stellaris FTDI ICDI가 떠야 한다.


물론 드라이버는 정상적으로 설치되어 있겠으나
"범용 직렬 버스 컨트롤러 - Stellaris ICDI Board A"를 재설치 하니 문제없이 인식한다.
EKC-LM3S1968-CD\Tools\FTDI 의 경로에서 해당 드라이버를 수동으로 잡아서 해주면 된다.


"이 위치에서 가장 적합한 드라이버 검색" 으로 경로를 넣어줘서는 동일한 버전이라고 설치가 안되니
"검색 안 함. 설치할 드라이버를 직접 선택" 으로 경로를 넣어주고 직접 골라서 설치하면 된다.



윈7으로 갈아 타려는데 삼성 IDE  80GB 하드라서 속도가 외장 USB 플래시 만도 못한
초당 15MB/s....그냥 XP로 길이길이 고이고이 살아가련다 ㅠ.ㅠ 
Posted by 구차니
embeded/Cortex-M3 Ti2012. 7. 23. 10:44
stellraisware의 UARTStudioInit()는 간단하게 UART를 초기화 해주는 함수이다.
UARTStudioInit()의 초기화 값은 0에서 2까지 가능하며 이 내용이 합당한 정의는 존재하지 않는듯.
그리고 baud rate 라던가 인터럽트 등은 초기화 해준다고 해도
포트 자체를 사용할지에 대한 초기화는 사용자가 해주어야 한다.
그리고 115200-N-8-1로 무조건 정의되니 주의!!

만약 주변장치 초기화를 하지 않으면, 당연히(!) 아무런 것도 출력되지 않는다.

SysCtlPeripheralEnable(SYSCTL_PERIPH_UART1);
GPIOPinTypeUART(GPIO_PORTB_BASE, GPIO_PIN_0 | GPIO_PIN_1);

UARTStdioInit(1);
UARTprintf("Hello World\n"); 

//*****************************************************************************
//
//! Initializes the UART console.
//!
//! \param ulPortNum is the number of UART port to use for the serial console
//! (0-2)
//!
//! This function will initialize the specified serial port to be used as a
//! serial console.  The serial parameters will be set to 115200, 8-N-1.
//! An application wishing to use a different baud rate may call
//! UARTStdioInitExpClk() instead of this function.
//!
//! This function or UARTStdioInitExpClk() must be called prior to using any
//! of the other UART console functions: UARTprintf() or UARTgets().  In order
//! for this function to work correctly, SysCtlClockSet() must be called prior
//! to calling this function.
//!
//! It is assumed that the caller has previously configured the relevant UART
//! pins for operation as a UART rather than as GPIOs.
//!
//! \return None.
//
//*****************************************************************************
void
UARTStdioInit(unsigned long ulPortNum)
{
    //
    // Pass this call on to the version of the function allowing the baud rate
    // to be specified.
    //
    UARTStdioInitExpClk(ulPortNum, 115200);
} 

[링크 : http://e2e.ti.com/support/microcontrollers/stellaris_arm_cortex-m3_microcontroller/f/471/p/45229/160748.aspx]
Posted by 구차니
Atmega32에 0으로 나누기 해서 미치게 하면 폭발한다는데..
도대체 어찌되먹은 녀석이지 -ㅁ-

[링크 :  http://www.youtube.com/watch?v=mZ7pUADoo58]

'embeded > AVR (ATmega,ATtiny)' 카테고리의 다른 글

attiny2313 회로도 조사  (0) 2013.07.01
attiny2313과 함께하는 지랄같은 주말 -_-  (0) 2013.06.29
AVR ATmega128 i2c  (0) 2012.02.20
AVR ISP 핀 순서  (0) 2012.01.22
AVT FFT + DAC = 보청기?  (0) 2012.01.18
Posted by 구차니
embeded/Cortex-M3 Ti2012. 6. 30. 11:17
말이 거창한데...
아무튼 스택의 크기가 작으면 함수 호출의 깊이가 깊을 경우
스택이 깨지면서 프로그램이 예측 불가능하게 죽는 문제가 발생한다.
이런 경우 해당 파일의 Stack 변수를 수정해주면 된다.
프로젝트를 생성해보지 않아서 잘 모르겠지만.. 아무튼 스택 크기는 512Byte(0x0200)으로 잡혀 있으니
용도에 맞게 설정하면 된다.

;******************************************************************************
;
; <o> Stack Size (in Bytes) <0x0-0xFFFFFFFF:8>
;
;******************************************************************************
Stack   EQU     0x00000200   



Posted by 구차니