为了方便大家在PIC18中使用UCOS—ii,公布一个LKR

[复制链接]
4065|8
 楼主| soso 发表于 2007-11-23 08:50 | 显示全部楼层 |阅读模式
在18F下、或者30F下编译使用ucosii、需要修改lkr的,否则链接就不会成功。一个18f7820的范例如下:<br /><br />&nbsp;//&nbsp;File:&nbsp;18f8720.lkr<br />//&nbsp;Sample&nbsp;linker&nbsp;script&nbsp;for&nbsp;the&nbsp;PIC18F8720&nbsp;processor<br /><br />LIBPATH&nbsp;.<br /><br />FILES&nbsp;c018i.o<br />FILES&nbsp;clib.lib<br />FILES&nbsp;p18f8720.lib<br /><br />CODEPAGE&nbsp;&nbsp;&nbsp;NAME=vectors&nbsp;&nbsp;&nbsp;&nbsp;START=0x0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;END=0x29&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PROTECTED<br />CODEPAGE&nbsp;&nbsp;&nbsp;NAME=page&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;START=0x2A&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;END=0x1FFFF<br />CODEPAGE&nbsp;&nbsp;&nbsp;NAME=idlocs&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;START=0x200000&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;END=0x200007&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PROTECTED<br />CODEPAGE&nbsp;&nbsp;&nbsp;NAME=config&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;START=0x300000&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;END=0x30000D&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PROTECTED<br />CODEPAGE&nbsp;&nbsp;&nbsp;NAME=devid&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;START=0x3FFFFE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;END=0x3FFFFF&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PROTECTED<br />CODEPAGE&nbsp;&nbsp;&nbsp;NAME=eedata&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;START=0xF00000&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;END=0xF003FF&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PROTECTED<br /><br />ACCESSBANK&nbsp;NAME=accessram&nbsp;&nbsp;START=0x0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;END=0x5F<br />DATABANK&nbsp;&nbsp;&nbsp;NAME=gpram&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;START=0x60&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;END=0xcff<br /><br />//&nbsp;DATABANK&nbsp;&nbsp;&nbsp;NAME=gpr1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;START=0x100&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;END=0x1FF<br />//&nbsp;DATABANK&nbsp;&nbsp;&nbsp;NAME=gpr2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;START=0x200&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;END=0x2FF<br />//&nbsp;DATABANK&nbsp;&nbsp;&nbsp;NAME=gpr3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;START=0x300&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;END=0x3FF<br />//&nbsp;DATABANK&nbsp;&nbsp;&nbsp;NAME=gpr4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;START=0x400&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;END=0x4FF<br />//&nbsp;DATABANK&nbsp;&nbsp;&nbsp;NAME=gpr5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;START=0x500&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;END=0x5FF<br />//&nbsp;DATABANK&nbsp;&nbsp;&nbsp;NAME=gpr6&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;START=0x600&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;END=0x6FF<br />//&nbsp;DATABANK&nbsp;&nbsp;&nbsp;NAME=gpr7&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;START=0x700&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;END=0x7FF<br />//&nbsp;DATABANK&nbsp;&nbsp;&nbsp;NAME=gpr8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;START=0x800&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;END=0x8FF<br />//&nbsp;DATABANK&nbsp;&nbsp;&nbsp;NAME=gpr9&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;START=0x900&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;END=0x9FF<br />//&nbsp;DATABANK&nbsp;&nbsp;&nbsp;NAME=gpr10&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;START=0xA00&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;END=0xAFF<br />//&nbsp;DATABANK&nbsp;&nbsp;&nbsp;NAME=gpr11&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;START=0xB00&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;END=0xBFF<br />//&nbsp;DATABANK&nbsp;&nbsp;&nbsp;NAME=gpr12&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;START=0xC00&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;END=0xCFF<br /><br />//&nbsp;DATABANK&nbsp;&nbsp;&nbsp;NAME=gpr13&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;START=0xD00&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;END=0xEFF<br />DATABANK&nbsp;&nbsp;&nbsp;NAME=gpr14&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;START=0xE00&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;END=0xEFF<br />ACCESSBANK&nbsp;NAME=accesssfr&nbsp;&nbsp;START=0xF60&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;END=0xFFF&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PROTECTED<br /><br />SECTION&nbsp;&nbsp;&nbsp;&nbsp;NAME=CONFIG&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ROM=config<br /><br />STACK&nbsp;SIZE=0x100&nbsp;RAM=gpr14<br /><br />build模式&nbsp;&nbsp;-ml-&nbsp;-o-
兰天白云 发表于 2007-11-23 11:36 | 显示全部楼层

eeproom:再公布个移植就更好了

  
 楼主| soso 发表于 2007-11-23 13:40 | 显示全部楼层

移植都有现成的嘛

   你自己下载一个,加上core部分,设置好环境,编译不是难事,难在链接。
兰天白云 发表于 2007-11-24 09:22 | 显示全部楼层

你这是把一页一页的RAM统一了

没找到下载的地方
 楼主| soso 发表于 2007-11-26 07:21 | 显示全部楼层

在ucos-ii的网站上可以找到的

&nbsp;&nbsp;http://www.micrium.com/
黄盛桦 发表于 2007-11-27 09:49 | 显示全部楼层

re,这样做是有问题的

MCC18中,跨bank的片段必须使用指针引用。它这个移植,这个是个潜在的bug,慎用!
 楼主| soso 发表于 2007-11-27 11:28 | 显示全部楼层

我倒是没说明这个问题

&nbsp;&nbsp;&nbsp;也许没有注意。我的编程习惯是压缩甚至不使用全局变量,喜欢使用指针函数,在一些运动控制中没有发现过事故。ucsii不跨bank是无法编译的。
 楼主| soso 发表于 2007-11-28 11:28 | 显示全部楼层

还没留心6楼的遣词

&nbsp;&nbsp;不知你是谁的马甲,我在21IC不与任何人结怨,请你大驾修改“它”为“他”。如果这个lkr有问题,盼望你指出问题所在。要么是搞研究的不知道实用中跨bank的大数据处理那也就不说了,盼望有公布不垮bank的ucosii的移植。<br />&nbsp;&nbsp;想起来我可能指责过某人抄书都抄错了,除此之外技术上没得罪任何人。
兰天白云 发表于 2007-11-28 12:01 | 显示全部楼层

LS的不要生气,可能6楼写错了

  
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

0

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部