打印
[PIC®/AVR®/dsPIC®产品]

新手基础问题

[复制链接]
1806|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
浪子Tomorrow|  楼主 | 2013-11-1 17:26 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
pic18单片机怎样将代码烧写到指定的任意程序存储器地址?
上电后单片机从哪个地址开始执行?是不是将程序存储器0x00~0xXX地址内容映射到内存开始执行?
Device ID Revision = 00000007修改设备ID地址,具体修改了哪,产生什么作用?
mplab icd 3调试的时候将程序写到哪里了?
mplab icd 3调试的时候跟mplab ide软件中checksum有没有关系,当我调试的时候写不进去,当清一下程序内存的时候checksum变了,然后就可以写进去了?
谢谢!
沙发
yewuyi| | 2013-11-2 10:18 | 只看该作者
pic18单片机怎样将代码烧写到指定的任意程序存储器地址?
RE:可以,但多数没什么必要,也没什么意义。
上电后单片机从哪个地址开始执行?是不是将程序存储器0x00~0xXX地址内容映射到内存开始执行?
RE:从复位地址开始执行,对于PIC16来说,即程序空间0地址。
Device ID Revision = 00000007修改设备ID地址,具体修改了哪,产生什么作用?
RE:Device ID是芯片ID,这是由芯片型号决定,只能读,不能写。
mplab icd 3调试的时候将程序写到哪里了?
RE:写到了芯片的程序空间,ICD是一种在线调试方式,是将程序下载到了芯片中,然后让芯片自己运行,然后通过ICSP串行口将开发者想要看到数据上传上来。
mplab icd 3调试的时候跟mplab ide软件中checksum有没有关系,当我调试的时候写不进去,当清一下程序内存的时候checksum变了,然后就可以写进去了?
RE:什么叫清程序内存?请使用规范用词,不要到处自创名词。

使用特权

评论回复
板凳
浪子Tomorrow|  楼主 | 2013-11-13 14:25 | 只看该作者
本帖最后由 浪子Tomorrow 于 2013-11-13 14:28 编辑
yewuyi 发表于 2013-11-2 10:18
pic18单片机怎样将代码烧写到指定的任意程序存储器地址?
RE:可以,但多数没什么必要,也没什 ...

清程序内存,Debugger->Clear Memory->Program Memory
执行这个操作后调试时程序可以写进去了,不知道为什么?

叶老师,我在《单片机C语言编译器及其应用》基于PIC18系列 刘和平
这本书中看到这样一句话“在PIC18FLASH型产品中,用户的程序存储区包含有一个512字节的引导区间(Boot Block),地址范围是0X000000~0X0001FF,该空间通常用来为用户存放Bootloader程序”
在技术手册上“复位矢量0000h,高优先级中断矢量0008h,低优先级0018h”
这个不明白,这两个地址是一个吗?技术手册上也没有提到Bootloader

使用特权

评论回复
地板
yewuyi| | 2013-11-13 15:23 | 只看该作者
bootloader区域如果不做引导区,则和普通的程序空间一样

使用特权

评论回复
5
浪子Tomorrow|  楼主 | 2013-11-13 16:04 | 只看该作者
yewuyi 发表于 2013-11-13 15:23
bootloader区域如果不做引导区,则和普通的程序空间一样

叶老师,我有个很急的问题
仪器在运行的过程中:pic18f4620(40引脚)   458接收命令
仪器运行过程:接收命令->执行命令->返回数据->接收命令->执行命令->返回数据……
执行命令过程中19引脚变为0(正常为1,在初始化是置1,并且其他地方没有对19引脚的操作)以后的运行过程中一直是0,断电重启后再运行恢复正常,运行一段时间后又会出现这种情况

使用特权

评论回复
6
浪子Tomorrow|  楼主 | 2013-11-13 16:42 | 只看该作者
本帖最后由 浪子Tomorrow 于 2013-11-13 16:44 编辑

mplab icd 3用户指南中
“创建HEX 文件
要为调试创建hex 文件,可以:
• 在项目工具栏上,从Build Configuration 下拉列表中选择“Debug”。
• 选择Project>Build All,或在项目窗口中右击项目名称并从弹出菜单中选择“Build
All” (编译全部)。”
1.调试必须创建hex文件吗??
2.没有“Debug”显示为“No Build Configuration”,怎么办?

使用特权

评论回复
7
yewuyi| | 2013-11-13 17:03 | 只看该作者
浪子Tomorrow 发表于 2013-11-13 16:04
叶老师,我有个很急的问题
仪器在运行的过程中:pic18f4620(40引脚)   458接收命令
仪器运行过程:接收 ...

程序BUG。

多数是程序中出现了临界代码,在一些特殊引导条件或时间下出现故障。

使用特权

评论回复
8
浪子Tomorrow|  楼主 | 2013-11-14 09:55 | 只看该作者
yewuyi 发表于 2013-11-13 17:03
程序BUG。

多数是程序中出现了临界代码,在一些特殊引导条件或时间下出现故障。 ...

mplab icd 3用户指南中
“创建HEX 文件
要为调试创建hex 文件,可以:
• 在项目工具栏上,从Build Configuration 下拉列表中选择“Debug”。
• 选择Project>Build All,或在项目窗口中右击项目名称并从弹出菜单中选择“Build
All” (编译全部)。”
1.调试必须创建hex文件吗??
2.没有“Debug”显示为“No Build Configuration”,怎么办?

使用特权

评论回复
9
yewuyi| | 2013-11-14 10:41 | 只看该作者
浪子Tomorrow 发表于 2013-11-14 09:55
mplab icd 3用户指南中
“创建HEX 文件
要为调试创建hex 文件,可以:

你最好去把那些基础的东西弄清楚。

1、没有HEX文件,你怎么下载代码到芯片中?代码都都没下载到芯片中,怎么用ICD3进行DEBUG ?
2、没有“Debug”显示为“No Build Configuration”,怎么办?
   你说怎么办?都提示你没有配置配置字,你说怎么办?要么是在代码中使用宏指令配置配置字,编译后会自动加入到HEX文件中,要么是在MPLAB窗口自己手工配置,下载HEX时自动会把配置字下载到芯片中 。

使用特权

评论回复
10
浪子Tomorrow|  楼主 | 2013-11-14 10:53 | 只看该作者
yewuyi 发表于 2013-11-14 10:41
你最好去把那些基础的东西弄清楚。

1、没有HEX文件,你怎么下载代码到芯片中?代码都都没下载到芯片中, ...

谢谢叶老师:)

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

7

主题

50

帖子

0

粉丝