搜索
bottom↓
回复: 12

AVRX在IAR上的移植!

[复制链接]

出0入0汤圆

发表于 2008-7-16 15:32:45 | 显示全部楼层 |阅读模式
AVRX操作系统在IAR AVR上成功移植!只要方法正确可改到任何IAR AVR版本上,步骤如下:
1.生成AVRX库文件:AVRX.LIB(实际是AVRX.R90改名方便见名知义)^_^
  1.1 对照avrx目录下的Mmakefile文件,确定OS所需要的文件
              ASRC =  monitor.s \
                serialio.s \
                avrx_tasking.s \
                avrx_semaphores.s \
                avrx_resetsemaphore.s \
                avrx_reschedule.s \
                avrx_singlestep.s \
                avrx_terminate.s \
                avrx_halt.s \
                avrx_priority.s \
                avrx_suspend.s \
                avrx_testsemaphore.s \
                avrx_message.s \
                avrx_recvmessage.s \
                avrx_timequeue.s \
                avrx_starttimermessage.s \
                avrx_canceltimer.s \
                avrx_canceltimermessage.s\
                avrx_generatesinglestepinterrupt.s\
                avrx_eeprom.s

        OBJ =        $(ASRC:.s=.o)


   1.2  将所有的.s文件改为.s90,注意serialio.s90(serialio.s)可以不用!后面再讲
   1.3  运行IAR AVR,将以上更改的文件加入到工程中(serialio.s90不用加)
   1.4  编泽生成“library”
   1.5  将生成的目标文件AVRX.R90更改为AVRX.LIB

阿莫论坛20周年了!感谢大家的支持与爱护!!

月入3000的是反美的。收入3万是亲美的。收入30万是移民美国的。收入300万是取得绿卡后回国,教唆那些3000来反美的!

出0入0汤圆

 楼主| 发表于 2008-7-16 15:54:15 | 显示全部楼层
这是更改好的库生成工程!!点击此处下载 ourdev_349490.rar(文件大小:560K) (原文件名:AVRXIAR.rar)

出0入0汤圆

 楼主| 发表于 2008-7-16 15:56:31 | 显示全部楼层
2. AVRX库与自已的工程熔合注意事项:
   2.1 将AVRX.lib拷入自已的工程主目录
   2.2 将几个主要头文件:avrx.h  avrx.inc  avrx-ctoasm.inc  avrx-io.h  avrx-signal.h...拷入工程主目录
   2.3 将avrx_iar_vect.s文件改名avrx_iar_vect.s90后入工程主目录,一定要加入!否则编泽不过!
       编泽,
        肯定出错:
                  Fatal Error[e72]: Segment AVRXDATA must be defined in a segment definition option (-Z, -b or -P)

   2.4 解决办法:
            打开avrx.inc文件:
           
            
#  define _GLOBAL(Label, Size) __global Label, Size
#  define _STATIC(Label, Size) __static Label, Size
#  define _DATASECTION RSEG AVRXDATA:DATA
#  define _CODESECTION RSEG CODE:CODE
#  define _FUNCTION(A) PUBLIC A
#  define _ENDFUNC
#  define _PUBLIC(A) PUBLIC A
#  define _EXTERN(A) EXTERN A
#  define _MODULE(A) MODULE A
#  define _ENDMOD ENDMOD
#  define _END END
#  define lo8_pm(A) LOW(A/2)
#  define hi8_pm(A) HIGH(A/2)
#  define lo8(A) LOW(A)
#  define hi8(A) HIGH(A)
#  define _DB DB
#  define _EQU(A,B) A: EQU B
#  define _ALIGN EVEN
#  define _SFR_IO_ADDR(A) (A)   /* IAR does not use this */

是“#  define _DATASECTION RSEG AVRXDATA:DATA“中的”AVRXDATA“  诺的火!打开工程的OUTPUT下的
工程配制文件:.xcl (注意有二个.xcl) 将AVRXDATA段加入内部Ram数据区就可以了

// Data (SRAM, external ROM or external NV RAM) memory
-Z(DATA)TINY_I,TINY_Z,TINY_N=_..X_SRAM_TBASE:+_..X_SRAM_TSIZE
-Z(DATA)CSTACK+_..X_CSTACK_SIZE=_..X_CSTACK_BASE-_..X_CSTACK_END
-Z(DATA)HEAP+_..X_HEAP_SIZE=_..X_SRAM_BASE-_..X_SRAM_END
-Z(DATA)IOSTREAM_N#_..X_SRAM_BASE-_..X_SRAM_END
-Z(DATA)NEAR_HEAP+_..X_NEAR_HEAP_SIZE=_..X_SRAM_BASE-_..X_SRAM_END
-Z(DATA)RSTACK+_..X_RSTACK_SIZE=_..X_RSTACK_BASE-_..X_RSTACK_END
-Z(DATA)NEAR_I,NEAR_Z,NEAR_N=_..X_SRAM_BASE-_..X_SRAM_END
  
-Z(DATA)AVRXDATA=_..X_SRAM_BASE-_..X_SRAM_END

出0入0汤圆

 楼主| 发表于 2008-7-16 16:14:49 | 显示全部楼层
3.定义中断向量
    用过IAR高手,应该知道怎改了!写了好长时间,等有空再加上!

出0入0汤圆

发表于 2008-7-16 16:52:19 | 显示全部楼层
mark and up!

出0入0汤圆

发表于 2008-7-16 17:07:45 | 显示全部楼层
留个记号 关注

出0入0汤圆

发表于 2008-7-19 16:38:11 | 显示全部楼层
强啊,我还在为gcc源码到iar的移植发愁呢
谁能将Procyon AVRlib移植到iar就好了,库很多啊

出0入0汤圆

发表于 2010-2-3 17:40:37 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-2-3 20:46:36 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-6-4 23:01:36 | 显示全部楼层
主啊,强啊,能不能再讲解一个实例,说明怎么应用就更好了

出0入0汤圆

发表于 2010-6-14 15:00:53 | 显示全部楼层
绝对菜鸟的我从未用过GCC和AVRX,看了这么好的帖子,也忍不住想做一次avrx到IAR的移植,下载了LZ提供的AVRXIAR.rar,按照LZ教程的步骤一步一步做后,IAR成功编译!于是将自己的项目融入,更改LINK文件,再更改向量表,IAR再次成功编译!IAR DEBUG选为Simulator后调试,结果发现程序跑不了多少,cstack和rstack即变为0x0000(有时对某个地方有点小改动,又只显示它们溢出),万般无奈,还望各位高人指点一二

出0入0汤圆

发表于 2013-10-29 19:37:29 | 显示全部楼层
mark                                

出0入0汤圆

发表于 2020-5-22 14:04:27 | 显示全部楼层
顶一下,学习学习!
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-27 11:19

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表