'STM32'에 해당되는 글 50건

  1. 2008.03.08 STM32 Flash Write제작 (1)
  2. 2008.03.07 ST Cortex-M3 STM32 관련자료
  3. 2008.03.02 STM32 Ethernet Test Board 제작
  4. 2008.02.29 [STM32-48 EVM] LCD테스트
  5. 2008.02.25 [STM32] I2C테스트 (1)
[ST_MICRO]/STM322008. 3. 8. 23:29

STM32 Flash Write제작

STM32 Flash Write제작


ST에사 제공하는 Flash Loader은 편하긴 한데 한번 라이팅하면 프로그램을 종료하고 다시 실행해야 하는 불편함이 있는데 자주 수정해야 할 경우라면 상당히 불편하다. 물론 IAP나 JTAG를 사요하면 되지만 여건이 않되거나 특히 양산용 일 경우 문제가 있는데... "천동이"님께서 올리신 예제를 약간 수정하여 만들어 보았다.



원작의 경우 시리얼 포트 설정이나 Open/Close가 않되 실행중에서 시리얼 포트를 이용하여 테스트 하기가 쉽지 않은데 그래서 약간 수정을 해서 시리얼 포트 설정 할수 있도록 했고 시리얼 포트 Open/Close를 두어 시리얼 디버깅 테스트도 쉽게 할 수 있도록 했다.

"Initialzie" 버튼으로 시리얼 포트를 Open/Close 할 수 있다. 시리얼 포트 테스트 예제의 경우 터미널 창에서 시리얼 포트를 사용하므로 Open/Close 기능이 필요 했다.

원작자의 프로그램
"열심히 만드셔서 소스 공개 해 주어서 감사합니다."



ST제공 프로그램



일단 간단하게 만들어 보려고 약간의 수정을 했는데...
앞으로 다운로드 주소 설정이나 테스트 명령등 몇가지 추가하면 좋은 툴이 되지 않을까 생각한다.
인터페이스를 이쁘게 하기위해서는 C++ Bulder로 개발해야 겠다. VC++은 아무래도 노가다 작업 이다.

소스는 원작자의 동의를 위해 카페에 올리록 하겠다.
Posted by nexp

댓글을 달아 주세요

  1. 비밀댓글입니다

    2009.05.20 13:19 [ ADDR : EDIT/ DEL : REPLY ]

[ST_MICRO]/STM322008. 3. 7. 11:21

ST Cortex-M3 STM32 관련자료

ST Cortex-M3 STM32 관련자료

Application Note
Reference Description Version Date Size File File
AN2606 STM32F101xx and STM32F103xx system memory boot mode 2 Jan-2008   13801.pdf  
AN2548 Using the STM32F101xx and STM32F103xx DMA controller 2 Dec-2007   13529.pdf an2548.zip
AN2639 Soldering recommendations and package information for lead-free microcontrollers 1 Oct-2007   14016.pdf  
AN2569 STM32F10xxx GPIO application examples 2 Oct-2007   13629.pdf  
AN2563 STM32F10xxx debug application examples 2 Oct-2007   13606.pdf  
AN2585 STM32F101xx and STM32F103xx core and system peripherals application examples: covers NVIC, SysTick, DMA, RCC, EXTI, PWR, BKP, RTC, Flash, IWDG and WWDG peripherals. 2 Oct-2007   13671.pdf  
AN2629 STM32F101xx and STM32F103xx low-power modes 1 Oct-2007   13922.pdf an2629.zip
AN2557 STM32F10xxx in-application programming using the USART 2 Oct-2007   13588.pdf an2557.zip
AN2594 EEPROM emulation in STM32F101xx and STM32F103xx microcontrollers 1 Oct-2007   13718.pdf an2594.zip
AN2592 How to achieve 32-bit timer resolution using the link system in STM32F101xx and STM32F103xx microcontrollers 1 Aug-2007   13711.pdf an2592.zip
AN2604 STM32F101xx and STM32F103xx RTC calibration 1 Aug-2007   13789.pdf  
AN2598 Smartcard interface with the STM32F101xx and STM32F103xx 1 Aug-2007   13750.pdf an2598.zip
AN2586 STM32F10xxx hardware development: getting started 1 Jul-2007   13675.pdf  
AN2576 STM32F10xxx SPI application examples 1 Jul-2007   13649.pdf  
AN2570 STM32F10xxx I²C application examples 1 Jun-2007   13630.pdf  
AN2580 STM32F10xxx TIM1 application examples 1 Jun-2007   13654.pdf  
AN2581 STM32F10xxx TIM application examples 1 Jun-2007   13658.pdf  
AN2582 STM32F10xxx USART application examples 1 Jun-2007   13661.pdf  
AN2558 STM32F10xxx ADC application examples 1 Jun-2007   13592.pdf  
AN2561 STM32F10xxx CAN application examples 1 Jun-2007   13603.pdf  
 
Brochure / Flyer
Reference Description Version Date Size File File
BRSTM320807 STM32 MCU family - 32-bit Flash microcontrollers powered by ARM® Cortex™-M3   Oct-2007 416 KB 1190813173.pdf  
SGMICRO0607 8, 16 and 32-bit microcontrollers - Product and tool selection guide   Jun-2007   sgmicro0607.pdf  
 
Certification
Reference Description Version Date Size File File
  VDE Certification for STM32 Class B   Nov-2007 1342 KB 1196432924.pdf  
 
Datasheet
Reference Description Version Date Size File File
STM32F101x
Product Catalog P/N's :
STM32F101T6 STM32F101CB STM32F101R6 STM32F101R8 STM32F101RB STM32F101C6 STM32F101C8 STM32F101T8 STM32F101V8 STM32F101VB
Access line, Advanced ARM-based 32-bit MCU with Flash, 6 timers, ADC, 7 communication interfaces 4 Nov-2007   13586.pdf  
STM32F103x
Product Catalog P/N's :
STM32F103VB STM32F103RB STM32F103T6 STM32F103T8 STM32F103V8 STM32F103R6 STM32F103R8 STM32F103CB STM32F103C6 STM32F103C8
Performance line, Advanced ARM-based 32-bit MCU with Flash, USB, CAN, 7 timers, 2 ADCs, 9 communication interfaces 4 Nov-2007   13587.pdf  
 
Firmware
Reference Description Version Date Size File File
STM32F10x ARM-based 32-bit MCU STM32F101xx and STM32F103xx firmware library 1.0 Oct-2007   um0427.zip 13475.pdf
STM3210B-EVAL STM3210B-EVAL demonstration software 1.1 Nov-2007   um0435.zip 13534.pdf
STM32F10x STM32F101xx and STM32F103xx Flash loader demonstrator 1.0 Oct-2007   um0462.zip 13916.pdf
STM32F10x STM32F10xxx USB developer kit 1.0 Oct-2007   um0424.zip 13465.pdf
 
Press Release
Reference Description Version Date Size File File
  Broad Range of Low-Cost, Third-Party Starter Kits for STM32 Microcontroller Available from STMicroelectronics   Oct-2007   p2217.htm  
  Development Tool from STMicroelectronics Opens Performance Monitoring Window on New STM32 ARM® Cortex™-M3 core-based Microcontrollers   Nov-2007   p2219.htm  
  STMicroelectronics Introduces Free Self-Test Software for STM32 MCU to Simplify End-Product Safety Compliance   Nov-2007   p2230.htm  
  STMicroelectronics Reshapes the MCU Market with New 32-Bit Family Powered by ARM Cortex-M3 Core   Jun-2007   p2184.htm  
 
Programming Manual
Reference Description Version Date Size File File
  STM32F10xxx Flash programming 2 Oct-2007   13259.pdf  
 
Quality - Product Documentation
Reference Description Version Date Size File File
PPM Microcontroller PPM 2007 Q3 1.0 Oct-2007   customer_ppm.pdf  
Reliability Reliability Monitoring 2007 Q2 1.0 Sep-2007   reliability_monitoring.pdf  
STM32F10x STM32F10x Qualification Certificate 1.0 Dec-2007   mcd_qa07-003_qual_certif.pdf  
 
Reference Manual
Reference Description Version Date Size File File
RM0008 STM32F101xx and STM32F103xx advanced ARM-based 32-bit MCUs 3 Feb-2008   13902.pdf  
 
Software - PC
Reference Description Version Date Size File File
DfuSe DfuSe USB Device Firmware Upgrade STMicroelectronics Extension:
Contains the Demo GUI, Debugging GUI, all sources files and the protocol layer
2.2 Jan-2008   um0412.zip 13379.pdf
 
Technical Note
Reference Description Version Date Size File File
  Overview of the STM32F103xx ACIM and PMSM motor control software libraries 1 Feb-2008   14380.pdf  
 
User Manual
Reference Description Version Date Size File File
UM0412 DfuSe USB Device Firmware Upgrade STMicroelectronics Extension 2 Jan-2008   13379.pdf um0412.zip
UM0486 STM3210B-MCKIT motor control starter kit 1 Dec-2007   14209.pdf  
UM0435 STM3210B-EVAL demonstration software 4 Dec-2007   13534.pdf um0435.zip
UM0462 STM32F101xx and STM32F103xx Flash loader demonstrator 1 Oct-2007   13916.pdf um0462.zip
UM0424 STM32F10xxx USB developer kit 2 Oct-2007   13465.pdf um0424.zip
UM0427 ARM®-based 32-bit MCU STM32F101xx and STM32F103xx Firmware Library 2 Oct-2007   13475.pdf um0427.zip
 
 
DEVELOPMENT TOOLS - Technical Library
 
Data Brief
Reference Description Version Date Size File File
  Product overview for IAR's EWARM development environment for STR7/STR9 and Advanced development kit for STR9 with trace support 1.0 Jun-2007   12669.pdf  
  Product overview for Raisonance's fun, low-cost kit for STM32F10xB. 1.0 Oct-2007   13942.pdf  
  Product overview for Raisonance's professional development tool bundles STX-PRO with RLink for STR7 and STR9, and STR9 Professional developers kit with Signum JTAGjet for trace support 1.0 Jun-2007   12463.pdf  
Hitex starter kits for ARM core-based MCUs
Product Catalog P/N's :
STM3210B-SK/HIT STR730-SK/HIT STR750-SK/HIT STR710-SK/HIT STR91X-SK/HIT
Product overview for Hitex starter kits for STM32F10xB, STR91xF, STR75xF, STR73xF and STR71xF. 4.0 Oct-2007   11968.pdf  
IAR KickStart kits for ARM core-based MCUs
Product Catalog P/N's :
STM3210B-SK/IAR STR730-SK/IAR STR731-SK/IAR STR750-SK/IAR STR711-SK/IAR STR712-SK/IAR STR91X-SK/IAR
Product overview for IAR starter kits for STM32F10xB, STR91xF, STR75xF, STR73xF and STR71xF 5.0 Oct-2006   11310.pdf  
Keil starter kits for ARM core-based MCUs
Product Catalog P/N's :
STM3210B-SK/KEIL STR750-SK/KEIL STR91X-SK/KEI
Product overview for Keil starter kits for STM32F10xB, STR91xF, STR75xF, STR73xF and STR71xF 3.0 Oct-2006   12425.pdf  
Raisonance REva starter kits for ARM core-based microcontrollers
Product Catalog P/N's :
STM32103B-D/RAIS STM3210B-SK/RAIS STR730-D/RAIS STR750-D/RAIS STR730-SK/RAIS STR750-SK/RAIS STR71X-SK/RAIS STR912-D/RAIS STR91X-SK/RAI
Product overview for Raisonance starter kits for STM32F10xB, STR91xF, STR75xF, STR73xF and STR71xF 6.0 Oct-2006   11543.pdf  
STM3210B-PFSTICK
Product Catalog P/N's :
STM3210B-PFSTICK
Product overview for Hitex low-cost, starter kit for evaluation of STM3210xB performance and starting application development 1 Oct-2007   stm3210b-pfstick.pdf  
 
User Manual
Reference Description Version Date Size File File
STM3210B-EVAL Description of STM32F10xB evaluation board and implemented features. Includes archived board schematics and files for production. 4.0 Oct-2007   13472.pdf um0426.zip
STR750-MCKIT - STM3210B-MCKIT STM3210B-MCKIT and STR750-MCKIT 3-phase motor control power stage 2 Dec-2007   13031.pdf  
STR750-MCKIT, STM3210B-MCKIT JTAG opto-isolation board 1 Feb-2007   13030.pdf  
Posted by nexp
TAG STM32

댓글을 달아 주세요

[ST_MICRO]/STM322008. 3. 2. 06:31

STM32 Ethernet Test Board 제작

STM32 Ethernet Test Board 제작




CORTEX-M3 STM32F103를 이용한 이더넷 테스트 보드를 제작하였다. 이더넷 컨트롤러는 W5100모듈을 이용하였고 간단한 테스트 용도로 제작했다.


W5100 모듈



STM32를 이용한 기본 테스트와 이더넷 테스트가 가능한 보드
사용자 삽입 이미지
Posted by nexp
TAG STM32, W5100

댓글을 달아 주세요

[ST_MICRO]/STM32F103-SM2008. 2. 29. 15:42

[STM32-48 EVM] LCD테스트

[STM32-48 EVM] LCD테스트

STM32를 이용하여 LCD테스트를 진행했다.
일단 LCD모듈을 이용하여 테스트 진행 했는데... 모듈로 제작하다 보니 테스트를 위한 커넥팅 정보를 사진으로 기록해 두는것이 다음에 사용하는데 도움이 될것 같다.



테스트한 동일한 코드를 데이터 출력 부분만 변경해서 테스트 진행

Posted by nexp

댓글을 달아 주세요

[ST_MICRO]/STM322008. 2. 25. 07:57

[STM32] I2C테스트

STM32 I2C테스트
 
일단 STM32 I2C 테스트 하면서 필요한 사항을 정리해 본다.
 
STM32와 MSP430(2013)을 이용하한 기본 I2C 테스트 보드
 
 
테스트 예제소스
 
STM32 유저 가이드
 

I2C블럭도
STM32는 2개의 I2C모듈이 있고 그림과 같은 블록도로
 
I2C1
PB6 - SCL
PB7 - SDA
 
I2C2
PB10 - SCL
PB11 - SDA
 
 
초기화
void i2c_init(void)
{
    I2C_InitTypeDef  I2C_InitStructure; 
 
 //1)클럭 초기화 I2C1 and Periph clock enable
 RCC_APB1PeriphClockCmd(RCC_APB1Periph_I2C2, ENABLE);   
 //GPIOB Periph clock enable
 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);
 
 //2)Configure I2C2 pins: SCL and SDA
 GPIO_InitStructure.GPIO_Pin =  GPIO_Pin_10 | GPIO_Pin_11;
 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_OD;
 GPIO_Init(GPIOB, &GPIO_InitStructure);
 
 //3)I2C1 configuration
 I2C_InitStructure.I2C_Mode = I2C_Mode_I2C;
 I2C_InitStructure.I2C_DutyCycle = I2C_DutyCycle_2;
 I2C_InitStructure.I2C_Ack = I2C_Ack_Enable;
 //  I2C_InitStructure.I2C_OwnAddress1 = I2C1_SLAVE_ADDRESS7; 
 I2C_InitStructure.I2C_AcknowledgedAddress = I2C_AcknowledgedAddress_7bit;
 I2C_InitStructure.I2C_ClockSpeed = I2C_Speed;
 I2C_Init(I2C2, &I2C_InitStructure);
 
 I2C_Cmd(I2C_ID, ENABLE);
}
 
 
I2C 프로토콜
 

 
I2C Read 동작
아래 블럭도와 같이 코딩을하면된다.
 

STM32 I2C를 테스트 하면가 가장 고생했던 점은 처음 한번은 잘 동작하고 어떨때 Read가 되지 않은 현상 발생 한다.
코드상 문제는 없는데... 딜레이도 주고 여러가지 다 해봤지만 원인을 찾을 수가 없었다.  
결국 2일을 고생하고 찾아낸 결론은 I2C_Cmd() 함수로 리셋을 해주면 문제없이 잘 동작한다. 그래서 i2c_start()함수 초기에 항상 리셋을 걸고 있다
 
unsigned char i2c_start(unsigned char address)
{
 I2C_Cmd(I2C_ID, DISABLE);
 I2C_Cmd(I2C_ID, ENABLE);
 
 
큰 부하는 아니지만 속도가 문제라면 함수가 아니라 메크로로 정의해 둘수도 있겠다.
 
 #define CR1_PE_Set              ((u16)0x0001)
 #define CR1_PE_Reset            ((u16)0xFFFE)

 I2C_ID->CR1 = CR1_PE_Reset;
 I2C_ID->CR1 = CR1_PE_Set; 
 



STM32 I2C에서 또한번 나를 당혹하게한다.
I2C를 이용하는 센서 테스트중 Read시에 EV7체크하는 부분이 있는데... 아무리해도 이 값이 세트되지 않는 현상이 발생하기에 Address Write이후 EV6 체크하는 부분을 삭제하니 정상동작한다.
이게 무슨일인지...다른 MCU에서 잘동작히니 디바이스 문제는 아닌것 같고... 아무튼 해결은 되었지만 맘에 들지 않는다
 
ST예제 STM32 I2C 코드
  /* Send address for read */
  I2C_Send7bitAddress(I2C1, EEPROM_ADDRESS, I2C_Direction_Receiver);
 
  /* Test on EV6 and clear it */
 while(!I2C_CheckEvent(I2C1, I2C_EVENT_MASTER_RECEIVER_MODE_SELECTED))
 
 while(NumByteToRead) 
 {
    /* Test on EV7 and clear it */
    if(I2C_CheckEvent(I2C1, I2C_EVENT_MASTER_BYTE_RECEIVED)) 
    {     
      /* Read a byte from the EEPROM */
      *pBuffer = I2C_ReceiveData(I2C1);
 
 
 
내가 수정한 STM32 I2C코드
 //Send address for read
 I2C_Send7bitAddress(I2C_ID, LIS3L02_I2C_ADDR, I2C_Direction_Receiver);
 
 //Test on EV6 and clear it
 while(!I2C_CheckEvent(I2C_ID, I2C_EVENT_MASTER_RECEIVER_MODE_SELECTED));
 
    while(1) 
    {
        //Test on EV7 and clear it
        if(I2C_CheckEvent(I2C_ID, I2C_EVENT_MASTER_BYTE_RECEIVED)) 
        {     
            data = I2C_ReceiveData(I2C_ID);
            break;
        }  
    }




이상하게 STM32 I2C에만 문제가 있네...
연속적인데이터를 수집하려하니 문제가 있다. start()에서 100us정도의 딜레이를 주니 잘동작은 하는데... 아무래도 나중에 속도문제가 될것 같다...
 
unsigned char i2c_start(unsigned char address)
{
    Delay_us(100); 
      :
}

테스트 동영상
기울기에따라 I2C 가속도센서 데이터를 그래프로 표시



테스트 코드 (STM32 M-Tyep EVM)

Delay없이 사용할 수 있도록 수정한 STM32 최종 I2C start() 함수  소스
unsigned char i2c2_start(unsigned char address)
{
    if(address&I2C_READ)
    {
  /* Send STRAT condition a second time */ 
  I2C_GenerateSTART(I2C2, ENABLE);
  
  /* Test on EV5 and clear it */
  while(!I2C_CheckEvent(I2C2, I2C_EVENT_MASTER_MODE_SELECT));
 
  /* Send EEPROM address for read */
  I2C_Send7bitAddress(I2C2, address-1, I2C_Direction_Receiver);
  /* Test on EV6 and clear it */
  while(!I2C_CheckEvent(I2C2, I2C_EVENT_MASTER_RECEIVER_MODE_SELECTED));
    }
    else
    {
  /* While the bus is busy */
  while(I2C_GetFlagStatus(I2C2, I2C_FLAG_BUSY));
 
  /* Send START condition */
  I2C_GenerateSTART(I2C2, ENABLE);
 
  /* Test on EV5 and clear it */
  while(!I2C_CheckEvent(I2C2, I2C_EVENT_MASTER_MODE_SELECT));
 
  /* Send EEPROM address for write */
  I2C_Send7bitAddress(I2C2, address, I2C_Direction_Transmitter);
  /* Test on EV6 and clear it */
  while(!I2C_CheckEvent(I2C2, I2C_EVENT_MASTER_TRANSMITTER_MODE_SELECTED));
  
  /* Clear EV6 by setting again the PE bit */
  I2C_Cmd(I2C2, ENABLE);  
    }  
  
   return 0;  
}
Posted by nexp

댓글을 달아 주세요

  1. 샤인

    관리자의 승인을 기다리고 있는 댓글입니다

    2011.09.16 11:35 [ ADDR : EDIT/ DEL : REPLY ]