资源简介

本文由文档+源码两部分组成。详细阐述了MSP430 bootloader原理及实现方法,可以使我们的硬件产品远程更新代码

资源截图

代码片段和文件信息

#include “base.h“
/**********************************************
** 函   数  名 : void Init_Clk(void)
** 描       述 : 使用内总时钟源初始化时钟
** 出 口 参 数 : 
** 影 响 资 源 :
** 备       注 :1. ACLK   =>  10K      
**               2. MCLK   =>  16MHZ     
**               3. SMCLK  =>  4MHZ      
************************************************/
void Sys_Clk_Init(void)
{      
  WDTCTL = WDTPW + WDTHOLD;
  BCSCTL1   =  CALBC1_16MHZ; 
  BCSCTL2   =  0x04; 
  DCOCTL    =  CALDCO_16MHZ;
  BCSCTL3   =  0x20;      
  BCSCTL3  |=  LFXT1S_2;
}
/* *********************************************
** 函   数  名 : unsigned char ASCII_To_HEX(unsigned char cNum)
** 描       述 : 将ASCALL码转换成16进制字节数据
** 入 口 参 数 : unsigned char cNum
** 出 口 参 数 :  
** 影 响 资 源 :
** 备       注 :
************************************************/
unsigned char ASCII_To_HEX(unsigned char Data)
{
  if(Data>=‘0‘&&Data<=‘9‘)
     Data -= ‘0‘;
  else if(Data>=‘A‘&&Data<=‘F‘)
     Data = Data - ‘A‘ + 10;
  return Data;
}
/**********************************************
** 函   数  名 : void Uart_Send(const unsigned char *data_point)
** 描       述 : 串口发送数据
** 入 口 参 数 : const unsigned char *data_point
** 出 口 参 数 :  
** 影 响 资 源 :
** 备       注 :
************************************************/
void Uart_Send(const unsigned char *Point)
{
  RS485_Tx_En();                  // 使能485芯片发送功能
  while(1)
  {
    while(UCA1STAT & UCBUSY) ;    // 如果串口忙则等待
    if( *Point != ‘\0‘ )          // 如果未检测到字符串结束符,则继续发送
     {
       UCA1TXBUF = *Point;        // 发送当前数据
       Point++;                   // 将指针移向下一个数据
     }
    else
    {
      RS485_Rx_En();              // 使能485芯片接收功能
      break;                      // 数据发送完毕,退出要程序
    }
  }
}
/**********************************************
** 函   数  名 :  void Init_Uart(void)
** 描       述 :  串口初始化
** 入 口 参 数 :
** 出 口 参 数 :  
** 影 响 资 源 :
** 备       注 :  9600 N81
************************************************/
void Init_Uart(void)

  P5DIR     |=   BIT0;
  P5OUT     |=   BIT0; 
  P3SEL     |=  BIT6 + BIT7;                
  UCA1CTL1  |=  UCSSEL_2;                    
  UCA1BR0    =  0xA0;                           
  UCA1BR1    =  0x01;                          
  UCA1MCTL   =  UCBRS1 + UCBRS0;               
  UCA1CTL1  &=  ~UCSWRST;                          
}
/* *********************************************
** 函   数  名 :  unsigned char Check_App_Pro_Valid( void )
** 描       述 :  检查FALSH ROM中是否存在应用程序
** 入 口 参 数 :
** 出 口 参 数 :   0 => 无应用程序, 1=> 存入应用程序  
** 影 响 资 源 :
** 备       注 :  如果复位向量地址内容为0xffff表示空,即没有应用程序
**             :  应用程序区中的虚拟复位向量中存放有应用程序的入口地址
************************************************/
unsigned char Check_App_Pro_Valid( void )
{
  if( (Read_Flash( RESETVECTORADDR_APP ) == 0xff) && ( Read_Flash( RESETVECTORADDR_APP + 1 ) == 0xff ) ) 
    return 0;  
  else
    return 1;
}
/* *********************************************
** 函   数  名 : void Application(void)
** 描       述 : 

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2017-05-25 11:11  bootloader原理及应用文档+源码\
     目录           0  2017-05-25 11:12  bootloader原理及应用文档+源码\bootloader\
     目录           0  2013-01-25 14:26  bootloader原理及应用文档+源码\bootloader\Debug\
     目录           0  2017-05-25 10:57  bootloader原理及应用文档+源码\bootloader\Debug\Exe\
     文件       32199  2013-01-25 15:14  bootloader原理及应用文档+源码\bootloader\Debug\Exe\msp430f247bootloader.d43
     目录           0  2017-05-25 11:13  bootloader原理及应用文档+源码\bootloader\Debug\List\
     目录           0  2017-05-25 10:57  bootloader原理及应用文档+源码\bootloader\Debug\Obj\
     文件       27719  2013-01-23 16:56  bootloader原理及应用文档+源码\bootloader\Debug\Obj\base.r43
     文件       15135  2013-01-23 17:22  bootloader原理及应用文档+源码\bootloader\Debug\Obj\bootloader.r43
     文件         194  2013-01-25 15:15  bootloader原理及应用文档+源码\bootloader\Debug\Obj\msp430f247bootloader.pbd
     文件       11294  2013-01-23 16:41  bootloader原理及应用文档+源码\bootloader\base.c
     文件        2319  2013-01-23 15:26  bootloader原理及应用文档+源码\bootloader\base.h
     文件        2652  2013-01-23 17:22  bootloader原理及应用文档+源码\bootloader\bootloader.c
     文件         174  2013-01-23 11:31  bootloader原理及应用文档+源码\bootloader\bootloader.eww
     文件        2995  2013-01-25 15:15  bootloader原理及应用文档+源码\bootloader\msp430f247bootloader.dep
     文件       20123  2013-01-23 11:44  bootloader原理及应用文档+源码\bootloader\msp430f247bootloader.ewd
     文件       50198  2013-01-25 15:14  bootloader原理及应用文档+源码\bootloader\msp430f247bootloader.ewp
     文件           0  2013-01-25 15:15  bootloader原理及应用文档+源码\bootloader\path.txt
     目录           0  2017-05-25 10:57  bootloader原理及应用文档+源码\bootloader\settings\
     文件        4484  2013-01-25 15:15  bootloader原理及应用文档+源码\bootloader\settings\bootloader.wsdt
     文件        1299  2013-01-25 15:15  bootloader原理及应用文档+源码\bootloader\settings\msp430f247bootloader.cspy.bat
     文件        4279  2013-01-25 15:15  bootloader原理及应用文档+源码\bootloader\settings\msp430f247bootloader.dbgdt
     文件        1413  2013-01-25 15:15  bootloader原理及应用文档+源码\bootloader\settings\msp430f247bootloader.dni
     文件        3966  2013-01-21 16:48  bootloader原理及应用文档+源码\lnk430F247.xcl
     文件        3966  2013-01-22 17:36  bootloader原理及应用文档+源码\lnk430F247APP.xcl
     文件        3966  2013-01-21 16:32  bootloader原理及应用文档+源码\lnk430F247Boot.xcl
     文件      764516  2017-05-25 11:05  bootloader原理及应用文档+源码\msp430F系列单片机bootloader原理与实现完整版.pdf
     文件         162  2017-05-25 11:12  bootloader原理及应用文档+源码\read me.txt

评论

共有 条评论