您好!
我试图完成与在这篇帖子相同的,没有任何运气:
是否有任何步骤超越帖子中的内容?
感谢您提供任何建议!
My Main (我的主菜单)顶部:
//
//包含的文件
//
#包含
#include "driverlib.h"
#include "device.h"
#include "board.h"
#include "math.h"
#pragma DATA_SECTION (OTP_KEY、"OTP_KEY");
#pragma DATA_SECTION (OTP_BMODE、"OTP_BMODE");
#pragma DATA_SECTION (OTP_Boot、"OTP_Boot");
const uint16_t otp_key = 0x5AFF;
const uint16_t OTP_BMODE = 0xFFFF;
const uint16_t OTP_Boot = 0xFF03;
//
//函数原型
//
void initEPWM (void);
void initCLA (void);
uint16_t dutyCalc (uint16_t STEP、uint16_t amp、uint16_t PHASE);
void configBMSPS0 (void);
//全局
uint16_t epwm1_period = 0;
uint32_t FREQUENCY = 0;
//
//主菜单
//
空 main (void)
{
和 My Linker File:
内存
{
第0页:
/* begin 用于"boot to SARAM"引导加载程序模式 */
begin :origin = 0x080000、length = 0x000002
RAMM0 :origin = 0x0000F6、length = 0x00030A
RAMLS0 :origin = 0x008000、length = 0x000800
RAMLS3 :origin = 0x009800、length = 0x000800
RAMLS4 :origin = 0x00A000、length = 0x000800
复位 :origin = 0x3FFFC0、length = 0x000002
OTP_BMODE:origin = 0x07800C、length = 0x00001 /* Add by Me */
otp_key:origin = 0x07800D,length = 0x00001 /* Add by Me */
OTP_Boot:origin = 0x07801C、length = 0x000003 /* Add by me */
/*闪存扇区*/
/*组0 */
FLASH_BANK0_SEC0 :origin = 0x080002、length = 0x000FFE /*片上闪存*/
FLASH_BANK0_SEC1 :origin = 0x081000、length = 0x001000 /*片上闪存*/
FLASH_BANK0_sec2 :origin = 0x082000、length = 0x001000 /*片上闪存*/
FLASH_BANK0_SEC3 :origin = 0x083000、length = 0x001000 /*片上闪存*/
FLASH_BANK0_SEC4 :origin = 0x084000、length = 0x001000 /*片上闪存*/
FLASH_BANK0_SEC5 :origin = 0x085000,length = 0x001000 /*片上闪存*/
FLASH_BANK0_SEC6 :origin = 0x086000、length = 0x001000 /*片上闪存*/
FLASH_BANK0_sec7 :origin = 0x087000、length = 0x001000 /*片上闪存*/
FLASH_BANK0_SEC8 :origin = 0x088000、length = 0x001000 /*片上闪存*/
FLASH_BANK0_SEC9 :origin = 0x089000、length = 0x001000 /*片上闪存*/
FLASH_BANK0_SEC10:origin = 0x08A000、length = 0x001000 /*片上闪存*/
FLASH_BANK0_SEC11:origin = 0x08B000、length = 0x001000 /*片上闪存*/
FLASH_BANK0_SEC12:origin = 0x08C000、length = 0x001000 /*片上闪存*/
FLASH_BANK0_SEC13:origin = 0x08D000、length = 0x001000 /*片上闪存*/
FLASH_BANK0_SEC14:origin = 0x08E000,length = 0x001000 /*片上闪存*/
FLASH_BANK0_SEC15:origin = 0x08F000、length = 0x001000 /*片上闪存*/
/*组1 */
FLASH_BANK1_SEC0 :origin = 0x090000、length = 0x001000 /*片上闪存*/
FLASH_BANK1_SEC1 :origin = 0x091000、length = 0x001000 /*片上闪存*/
FLASH_BANK1_SEC2 :origin = 0x092000、length = 0x001000 /*片上闪存*/
FLASH_BANK1_SEC3 :origin = 0x093000、length = 0x001000 /*片上闪存*/
FLASH_BANK1_SEC4 :origin = 0x094000、length = 0x001000 /*片上闪存*/
FLASH_BANK1_SEC5 :origin = 0x095000、length = 0x001000 /*片上闪存*/
FLASH_BANK1_SEC6 :origin = 0x096000、length = 0x001000 /*片上闪存*/
FLASH_BANK1_SEC7 :origin = 0x097000、length = 0x001000 /*片上闪存*/
FLASH_BANK1_SEC8 :origin = 0x098000、length = 0x001000 /*片上闪存*/
FLASH_BANK1_SEC9 :origin = 0x099000、length = 0x001000 /*片上闪存*/
FLASH_BANK1_SEC10:origin = 0x09A000、length = 0x001000 /*片上闪存*/
FLASH_BANK1_SEC11:origin = 0x09B000、length = 0x001000 /*片上闪存*/
FLASH_BANK1_SEC12:origin = 0x09C000、length = 0x001000 /*片上闪存*/
FLASH_BANK1_SEC13:origin = 0x09D000、length = 0x001000 /*片上闪存*/
FLASH_BANK1_SEC14:origin = 0x09E000、length = 0x001000 /*片上闪存*/
FLASH_BANK1_SEC15:origin = 0x09F000、length = 0x000FF0 /*片上闪存*/
// FLASH_BANK1_SEC15_RSVD:origin = 0x09FFF0,length = 0x000010 /*根据勘误建议"存储器:预取超出有效存储器"保留代码,且不使用此代码*/
第1页:
BOOT_RSVD :origin = 0x000002、length = 0x0000F1 /* Part of M0、boot ROM 将此用于堆栈*/
RAMM1 :origin = 0x000400,length = 0x0003F8 /*片上 RAM 块 M1 */
// RAMM1_RSVD :origin = 0x0007F8,length = 0x000008 /*根据 errata Advisory "存储器:在有效存储器之外预取"中保留和不使用代码*/
RAMLS1 :origin = 0x008800、length = 0x000800
RAMLS2 :origin = 0x009000、length = 0x000800
RAMLS5 : origin = 0x00A800 , length = 0x000800
RAMLS6 :origin = 0x00B000、length = 0x000800
RAMLS7 :origin = 0x00B800、length = 0x000800
RAMGS0 :origin = 0x00C000、length = 0x002000
RAMGS1 :origin = 0x00E000、length = 0x002000
RAMGS2 :origin = 0x010000、length = 0x002000
RAMGS3 :origin = 0x012000、length = 0x001FF8
// RAMGS3_RSVD :origin = 0x013FF8,length = 0x000008 /*根据 errata Advisory "Memory: prefake Beyond valid Memory"*,保留并不用于代码
CLA1_MSGRAMLOW :origin = 0x001480、length = 0x000080
CLA1_MSGRAMHIGH :origin = 0x001500、length = 0x000080
}
部分
{
.cinit :> FLASH_BANK0_SEC1、 page = 0、align (4)
.text :>> FLASH_BANK0_sec2 | FLASH_BANK0_SEC3, page = 0,align (4)
codestart :> begin page = 0, align (4)
.stack :> RAMM1 页= 1
.switch :> FLASH_BANK0_SEC1、 PAGE = 0、ALIGN (4)
#if defined (__TI_EABI __)
.init_array :> FLASH_BANK0_SEC1 、page = 0、 align (4)
.bss :> RAMLS5、 page = 1
.bss:output: > RAMLS5、 page = 1
.bss:CIO: > RAMLS5, page = 1
.data :> RAMLS6、 page = 1
.sysmem :> RAMLS6、 page = 1
.const :> FLASH_BANK0_SEC4、 PAGE = 0、ALIGN (4)
#else
.pinit :> FLASH_BANK0_SEC1、 page = 0、 align (4)
.ebss :>> RAMLS5 | RAMLS6, 页面= 1
.esysmem :> RAMLS6、 page = 1
.cio :> RAMLS5、 page = 1
econst :>FLASH_BANK0_SEC4、 PAGE = 0、ALIGN (4)
#endif
ramgs0 :> RAMGS0, 页面= 1
ramgs1 :> RAMGS1、 page = 1
.reset :>RESET、 PAGE = 0、TYPE = DSECT /*未使用、*/
dclfuncs :> FLASH_BANK0_SEC1 、PAGE = 0、ALIGN (4)
#if defined (__TI_EABI __)
/* CLA 特定部分*/
Cla1Prog :load = flash_BANK0_SEC4、
RUN = RAMLS0、
Load_Start (Cla1ProgLoadStart)、
RUN_START (Cla1ProgRunStart)、
Load_Size (Cla1ProgLoadSize)、
PAGE = 0、ALIGN (4)
#else
/* CLA 特定部分*/
Cla1Prog :load = flash_BANK0_SEC4、
RUN = RAMLS0、
Load_Start (_Cla1ProgLoadStart)、
RUN_START (_Cla1ProgRunStart)、
Load_Size (_Cla1ProgLoadSize)、
PAGE = 0、ALIGN (4)
#endif
Cla1ToCpuMsgRAM :> CLA1_MSGRAMLOW、 page = 1
CpuToCla1MsgRAM :> CLA1_MSGRAMHIGH、 page = 1
#if defined (__TI_EABI __)
.TI.ramfunc :load = FLASH_BANK0_SEC1、
运行= RAMLS4
Load_start (RamfuncsLoadStart)、
Load_Size (RamfuncsLoadSize)、
Load_End (RamfuncsLoadEnd)、
RUN_START (RamfuncsRunStart)、
RUN_SIZE (RamfuncsRunSize)、
RUN_END (RamfuncsRunEnd)、
PAGE = 0、ALIGN (4)
#else
.TI.ramfunc :load = FLASH_BANK0_SEC1、
运行= RAMLS4
Load_start (_RamfuncsLoadStart)、
Load_Size (_RamfuncsLoadSize)、
Load_End (_RamfuncsLoadEnd)、
RUN_START (_RamfuncsRunStart)、
RUN_SIZE (_RamfuncsRunSize)、
RUN_END (_RamfuncsRunEnd)、
PAGE = 0、ALIGN (4)
#endif
scratchpad :> RAMLS1, page = 1
.bss_cla :> RAMLS1、 页= 1
Cla1DataRam :>RAMLS2、 page = 1
CLA_shared :> RAMLS1、 page = 1
CLADataLS1 :> RAMLS1、 PAGE = 1
#if defined (__TI_EABI __)
.const_cla :load = flash_BANK0_sec2、
RUN = RAMLS3、
RUN_START (Cla1ConstRunStart)、
Load_Start (Cla1ConstLoadStart)、
Load_Size (Cla1ConstLoadSize)、
PAGE = 0、ALIGN (4)
#else
.const_cla :load = flash_BANK0_sec2、
RUN = RAMLS3、
RUN_START (_Cla1ConstRunStart)、
Load_Start (_Cla1ConstLoadStart)、
Load_Size (_Cla1ConstLoadSize)、
PAGE = 0、ALIGN (4)
#endif
}
/*
//========================================
//文件结尾。
//========================================
*/