0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

在PIC单片机中为系列号保留ROM空间的方法

麦辣鸡腿堡 来源:Microchip微芯 作者:Microchip微芯 2023-01-22 15:16 次阅读

问:我想把Page1的ROM空间里最高地址的128个字节放到一边,我们会用外部的软硬件来额外地写入这些字节位置(我将会在生产线上对这些单片机做带有系列号的串行编程SQTP),显然,这些字节是只读的。有没有什么建议来把这样一块ROM放到一边呢?

答:我们有如下建议;在你的C模块里放置下面的代码:

extern const char myarray[]; // 这里不要声明数组的大小
#asm
psect reserved,class=CODE,delta=2
global _myarray
_myarray:
ds 128 ;保留128个字
#endasm

现在来加入linker options,把下面的PICC命令行加入:

-l-preserved=0F80h

于是你就在F80地址开始得到了128个字的空间,而且这个地址空间会被链接器在分配代码空间时避开。

如果你需要预初始化这些单元到FF或者其他值,那么它应该象这样:
#asm
psect reserved,class=CODE,delta=2
global _myarray
_myarray:
retlw 0xFF
retlw 0xFF
; 重复你需要的次数

#endasm

如果要在C代码中访问这些SQTP的系列号,可以这样:

#define SQTP_table(name,size)
extern const char name[];
asm("global _" ___mkstr(name));
asm("psect " ___mkstr(name) ",class=CODE,delta=2"); asm("_" ___mkstr(name) ":"); asm("rept " ___mkstr(size)); asm("retlw 0"); asm("endm");

SQTP_table(XXX,YYY);//把XXX改成你想要的表格名称,并把YYY改成表格的大小。例如:SQTP_table(sqtp,16);
C代码可以这样访问这些系列号:
main()
{
char ch;
ch = sqtp[3]; //把表格的第四个字节赋给变量ch。
}
你可以通过额外的命令行选项来把这个表格放置到任何你需要的地址位置:(build option->global->additional command line options)。
加入
-l-pXXX=0YYYh
这里XXX是你使用的表格的名称,YYY是地址。例如:-l-psqtp=01000h
这将把表格sqtp放置到地址0x1000。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 单片机
    +关注

    关注

    6037

    文章

    44562

    浏览量

    635809
  • ROM
    ROM
    +关注

    关注

    4

    文章

    572

    浏览量

    85796
  • 编译器
    +关注

    关注

    1

    文章

    1634

    浏览量

    49149
收藏 人收藏

    评论

    相关推荐

    PIC系列单片机的优势所在。

    的点火器需要一个I/O较少、RAM及程序存储空间不大、可靠性较高的小型单片机,若采用40脚且功能强大的单片机,投资大不说,使用起来也不方便。PIC
    发表于 03-14 13:28

    PIC单片机与51系列单片机的区别

    用于数据,由于可以对程序和数据同时进行访问,所以提高了数据吞吐率。正因为PIC系列单片机采用了哈佛双总线结构,所以与常见的微控制器不同的
    发表于 07-21 00:07

    PIC单片机是如何命名的

    PICXXXXXXXX(X)-XXX/XX 12345678 1.前缀: PIC MICROCHIP 公司产品代号,特别地:dsPIC集成DSP功能的新型PIC单片机2.
    发表于 11-24 07:47

    PIC单片机基础知识

    PIC系列单片机简介 ◆ PIC系列单片机程序设计基础 ◆
    发表于 01-18 13:30 112次下载

    PIC系列单片机通用目标电路板的设计

    详细介绍PIC系列单片机的通用目标电路板的设计思想和设计方法, 并给出电路原理图和应用实例。
    发表于 04-07 09:42 32次下载

    PIC单片机开发的几个问题

    PIC单片机国内日益流行,本文介绍Microchip PIC系列单片机开发过程
    发表于 06-18 13:46 2563次阅读

    PIC单片机教程_PIC单片机学习要点

    PIC单片机是一种用来开发去控制外围设备的集成电路(IC)。本内容向广大工程师全面的介绍了PIC单片机,涵盖PIC
    发表于 06-28 15:19
    <b class='flag-5'>PIC</b><b class='flag-5'>单片机</b>教程_<b class='flag-5'>PIC</b><b class='flag-5'>单片机</b>学习要点

    PIC系列单片机的开发应用技术

    本书旨在将3个层次不同型号的PIC系列单片机的特点、结构、指令系统及设计应用技术加以归纳整理,并提供丰富的应用实例,读者建立PIC
    发表于 10-29 16:23 65次下载
    <b class='flag-5'>PIC</b><b class='flag-5'>系列</b><b class='flag-5'>单片机</b>的开发应用技术

    PIC中档单片机系列-LCD

    PIC中档单片机系列-LCD
    发表于 10-16 14:22 5次下载
    <b class='flag-5'>PIC</b>中档<b class='flag-5'>单片机</b><b class='flag-5'>系列</b>-LCD

    PIC系列单片机程序设计基础

    PIC系列单片机程序设计基础
    发表于 10-16 14:27 9次下载
    <b class='flag-5'>PIC</b><b class='flag-5'>系列</b><b class='flag-5'>单片机</b>程序设计基础

    PIC32MM系列单片机

    本视频将向您介绍Microchip的PIC32MM系列低成本、低功耗单片机。这一全新系列定位介于低功耗PIC24F
    的头像 发表于 06-06 13:46 4847次阅读
    <b class='flag-5'>PIC</b>32MM<b class='flag-5'>系列</b><b class='flag-5'>单片机</b>

    pic单片机程序设计的基本方法解析

    pic单片机在学习和工作均扮演着重要角色,往期文章,小编曾对pic
    发表于 03-06 09:58 1678次阅读

    【转】PIC单片机的命名规则

    6 7 8 1.前缀: PIC MICROCHIP 公司产品代号,特别地:dsPIC集成DSP功能的新型PIC单片机 2.
    发表于 11-16 11:36 6次下载
    【转】<b class='flag-5'>PIC</b><b class='flag-5'>单片机</b>的命名规则

    PIC系列单片机

    的新趋势。现在PIC系列单片机在世界单片机市场的份额排名已逐年升位,尤其8位
    发表于 11-16 12:36 9次下载
    <b class='flag-5'>PIC</b><b class='flag-5'>系列</b><b class='flag-5'>单片机</b>

    单片机的RAM vs ROM

    单片机的RAM vs ROM
    的头像 发表于 09-28 17:57 1207次阅读