1) 지식 창고는 본인이 작성한 콘텐츠(팁/노하우/리소스/강좌 등)을 무료 혹은 가상화폐인 납포인트를 통해 공유하는 공간입니다.
2) 본인이 작성한 콘텐츠에 대해서만 지식 창고에 등록할 수 있으며, 저작권에 위배되는 콘텐츠는 사전경고 없이 삭제될 수 있습니다.
3) 콘텐츠 구매 및 첨부파일 다운로드는 회원그룹 '연구원' 이상 가능하오니, 경험치를 쌓아 진급한 후에 이용 부탁드립니다.
4) 무료 콘텐츠의 본문은 구매절차 없이 즉시 이용할 수 있으며, 판매 납포인트가 있는 콘텐츠는 구매 후 이용할 수 있습니다.
5) 콘텐츠 판매에 따른 납포인트 수익은 지정한 비율(50%)에 따라 판매자에게 지급하며, 납포인트 수익을 통해 진급을 빨리할 수 있습니다.
6) 구매 후 평가를 하면 구매 납포인트의 20%를 돌려 드립니다.
판매자 | 아크마 | 판매 납포인트 | 무료 | 평점 | 4.1점 / 총 7명 참여 |
---|
베타버젼이고 제가 STM32로 프로젝트 하던중에 너무 불편해서 기능을 추가하게 되었네요.
이거 정리해서 메뉴얼좀(STM32만) 만들어주실분 찾아요.제가 너무 정신이 없어서 문서작업할 시간이 없네요.
많은 분들이 사용하려면 도큐먼트를 잘 만들어야하는데 죄송스럽습니다.
최신버젼 다운로드는 아래주소에서...
http://www.micombox.com/index.php?mid=programs&package_srl=578105
변경사항:
나누미 STM32부트로더 지원
이쁘게 유저인어페이스 변경
AVR 부트로더 다운로딩시 에러현상 해결
부트로더 사용시 원활한 프로그램변경 가능
STM32를 사용하기 쉽도록 부트로더를 개발하였다.
ST홈페이지에 있는 STM32F10x in-application programming using the USART예제를 기본으로 원하는 기능을 추가하여 제작하였다. (어플리케이션노트 : AN2557)
사용방법을 설명하자면 부트로더를 0x800000~0x8001FFF에 저장하고 사용자 프로그램을 0x8002000부터 업로드하는 방식이다. 자세한것은 어플리케이션노트를 보면되나 몰라도 된다.
나누미의 NANUMI-STM32 부트로더를 사용하기위해서는 첨부파일( Nanumi-STM32 bootloader.zip )을 컴파일하여 JTAG장비나 ST사의 Flash Loader를 이용해 다운로드 한다.
부트로더를 컴파일할때는 사용하는 크리스털 속도에 따라 통신속도를 맞춰야 한다. 방법은 아래와 같다.
1. "stm32f10x_conf.h" 파일을 찾아서 8000000부분에 자신의 외부크리스털 클럭을 입력한다(제공되는 소스는 12메가로 설정됨)
2. main.c소스에서 RCC_PLLMul_6을 변경한다. (12메가일경우 6 하면 72mhz)
/* PLLCLK = 12MHz * 6= 72 MHz */
RCC_PLLConfig(RCC_PLLSource_HSE_Div1, RCC_PLLMul_6);
3. 컴파일하여 다운로드.
/* In the following line adjust the value of External High Speed oscillator (HSE)
used in your application */
#define HSE_Value ((u32)8000000) /* Value of the External oscillator in Hz*/
부트로더가 올라가게되면 flash로 부팅되도록 점퍼세팅(보드마다 다름)을 한후에 나누미의 연결버튼을 누르고 stm32를 리셋하면 된다.
중요 : stm32에 대해서는 아직 hex를 지원하지 않고 bin파일만 지원하므로 hex2bin유틸을 이용하거나 bin으로 컴파일하여 다운로드하면 된다.
사용자가 작성한 프로그램은 추가적인 작업이 필요하다.
keil 컴파일을 사용하는 경우 :
1. 아래 그림처럼 설정
2.
void NVIC_Configuration(void)
{
/* Set the Vector Table base location at 0x08002000 */
NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0x2000);
}
위 함수를 main문에서 호출해야 한다.
x : 1,2과정이 귀찮으면 첨부된 STM32F10x_IAP_AN.zip 파일을 바탕으로 소스코딩을 하면 된다.
IAR 컴파일일경우:
1.그림과 같이 설정하고 아래처럼 할당한다.
DROMSTART=0x8002000
DROMEND=0x801FFFF
DRAMSTART=0x20000000
DRAMEND=0x20004FFF
2.
2.
void NVIC_Configuration(void)
{
/* Set the Vector Table base location at 0x08002000 */
NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0x2000);
}
위 함수를 main함수에서 호출한다.
NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0x2000);
함수를 호출하는것이 중요하다.
8051AVR 탭도 있는데, 이건 MCU와 어떤 프로토콜로 동작하는지요?
참조하신 레퍼런스 문서가 있으시면 알려주시면 감사하겠습니다.
저도 작년에 ISP를 구현했는데 저희가 만든 8051이라서 (AT89C52 호환) 그냥 UART로 ISP를 구현해서
프로토콜도 제가 임의로 만들어서 구현했거든요. ^^;
혹시 AVR 8051이 사용하는 표준 ISP 인터페이스가 있으면 알려주셔요. guardian@neowine.com
1.32beta 버젼은 hex파일 지원함