FLASH调试_HCS12学习笔记(6)

来源:本站
导读:目前正在解读《FLASH调试_HCS12学习笔记(6)》的相关信息,《FLASH调试_HCS12学习笔记(6)》是由用户自行发布的知识型内容!下面请观看由(电工技术网 - www.9ddd.net)用户发布《FLASH调试_HCS12学习笔记(6)》的详细说明。
简介:本文主要讲了一下关于FLASH调试中遇到的问题,下面一起来学习一下:

停了一阶段没有调试FLASH的程序,调了一阶段的CAN,无果,CAN的程序也很麻烦,不过今天早上终于把FLASH的程序调通了,其实,程序本身应该是没有什么问题的,但是因为程序没有分段存储,所以直接导致FLASH的分页寄存器没有能够读出来,今早,我把我的所有.C文件全部标明代码存储到0x4000这个位置上,FLASH的程序直接调试成功。这里贴我的部分改动,以作存档。

//[Flash.c]Flash擦写-------------------------------------------------------*

//本文件包含:*

//(1)Flash_Erase_Sector:擦除一个指定的扇区*

//(2)Flash_Write_Nword:向一个指定的区域写入若干个字*

//-------------------------------------------------------------------------*

//头文件

#include"Flash.h"//Flash擦写头文件

#pragma CODE_SEG CODE_flash

#pragma CONST_SEG CONST_flash

void Erase_Write_Pretreat(INT8U page);//擦写子函数内部调用的函数声明

//页所对应的块对照表

//两个flash块,每块4页flash0flash1

const INT8U pagetable[4][4] = {{0x3C,0x3D,0x3E,0x3F},{0x38,0x39,0x3A,0x3B},{0x34,0x35,0x36,0x37},{0x30,0x31,0x32,0x33}};

上面红色的代码是我添加出来的,功能是将本段代码放在CODE_flash对应的存储空间里。

PLACEMENT

_PRESTART,

STARTUP,

ROM_VAR,

STRINGS,

VIRTUAL_TABLE_SEGMENT,

//.ostext,

NON_BANKED,

COPY

INTOROM_C000;

DEFAULT_ROMINTOPAGE_38, PAGE_39;

CODE_main,

CODE_flash,

CODE_MCUInit,

CODE_SCI

INTOROM_4000;

//.stackstart,

SSTACK,

//.stackend,

DEFAULT_RAMINTORAM;

这一段是P&E_Multilink_CyclonePro_linker.prm里摘出来了,它默认定义了所有代码、常量的存放区段,红色部分是我添加出来的,把我的主要文件放入了ROM_4000这个地址里,也就是对应了0x4000_0x7fff这个地址里。

提醒:《FLASH调试_HCS12学习笔记(6)》最后刷新时间 2024-03-14 01:00:44,本站为公益型个人网站,仅供个人学习和记录信息,不进行任何商业性质的盈利。如果内容、图片资源失效或内容涉及侵权,请反馈至,我们会及时处理。本站只保证内容的可读性,无法保证真实性,《FLASH调试_HCS12学习笔记(6)》该内容的真实性请自行鉴别。