7131|7

71

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

(版主)stm32外扩sram,一用就死,咋整? [复制链接]

stm32跑ucos-ii 2.86,外扩了sram,驱动正常了,但分散加载文件里只要把外部的sram想用起来,程度就死掉,无法运行,请问有人遇到改问题吗?怎么搞?
以下是我的手动分配的分散加载文件,把    RW_RAM1 0x60000000 0x00010000   ; RW data   SRAM
    {  
     ; app.o (+ZI +RW)
      .ANY (+RW +ZI)
    }
增加进来就是使用外部sram吧,但是只要这样程序根本无法运行,不用sram,即没有以上这段程序则正常。

以下是完整的scatter
; Filename      : STM32_Flash.scat
;******************************************************************************

LR_IROM1 0x08002000 0x0007e000                                     ;; Load region
{
    ER_IROM1 0x08002000    0x08020000
    {
        vectors.o (VECT, +First)
        init.o (INIT)
        * (+RO)
    }

    RW_IRAM1 0x20000000 0x0000C500         ;20K
    {
        ;* (+RW,+ZI)
        .ANY (+RW +ZI)
    }   
    RW_RAM1 0x60000000 0x00010000   ; RW data   SRAM
    {  
     ; app.o (+ZI +RW)
      .ANY (+RW +ZI)
    }
                                                            ;; The following declarations select the "two region model" ;
                                                                ;; A default __user_initial_stackheap() will be used        ;

     ARM_LIB_HEAP  0x2000C500 EMPTY  0x00002000   {}    ; 8K
     ARM_LIB_STACK 0x2000FE00 EMPTY -0x00001000   {}    ; 8K
}
此帖出自stm32/stm8论坛

最新回复

最近想在SRAM里跑跑  顶 学习中  详情 回复 发表于 2012-7-11 19:03
点赞 关注
 

回复
举报

83

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
与客户联系,问题解决。
ucos运行前,先初始化FSMC总线

可以结贴。
此帖出自stm32/stm8论坛
 
 

回复

71

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
                                 没错了,昨晚整了半天,搞定了,就是在启动文件里进入main前进行fsmc总线的正确初始化配置,然后修改scatter就可以了。
此帖出自stm32/stm8论坛
 
 

回复

96

帖子

0

TA的资源

一粒金砂(初级)

4
 
                                 楼主,能不能留个联系方式或您加我QQ:66614955?我也遇到了这个问题,想请教,
此帖出自stm32/stm8论坛
 
 
 

回复

69

帖子

0

TA的资源

一粒金砂(初级)

5
 
我初始化了FSMC的,在vector.s这个文件里面,我贴出来吧
; Enable FSMC clock
                                         LDR R0,= 0x00000114
                                         LDR R1,= 0x40021014
                                         STR R0,[R1]                         
                  
; Enable GPIOD, GPIOE, GPIOF and GPIOG clocks
                                         LDR R0,= 0x000001E0
                                         LDR R1,= 0x40021018
                                         STR R0,[R1]          

; SRAM Data lines, NOE and NWE configuration
; SRAM Address lines configuration
; NOE and NWE configuration   
; NE3 configuration
; NBL0, NBL1 configuration

                                         LDR R0,= 0x44BB44BB
                                         LDR R1,= 0x40011400
                                         STR R0,[R1]               
                                 
                                         LDR R0,= 0xBBBBBBBB
                                         LDR R1,= 0x40011404
                                         STR R0,[R1]               
                                 
                                         LDR R0,= 0xB44444BB
                                         LDR R1,= 0x40011800
                                         STR R0,[R1]               
                                 
                                         LDR R0,= 0xBBBBBBBB
                                         LDR R1,= 0x40011804
                                         STR R0,[R1]               
                                 
                                         LDR R0,= 0x44BBBBBB
                                         LDR R1,= 0x40011C00
                                         STR R0,[R1]            

                                         LDR R0,= 0xBBBB4444
                                         LDR R1,= 0x40011C04
                                         STR R0,[R1]            

                                         LDR R0,= 0x44BBBBBB
                                         LDR R1,= 0x40012000
                                         STR R0,[R1]               

                                         LDR R0,= 0x44444B44
                                         LDR R1,= 0x40012004
                                         STR R0,[R1]      
                                        
; FSMC Configuration   
; Enable FSMC Bank1_SRAM Bank

                                        LDR R0,= 0x00001011
                                        LDR R1,= 0xA0000010
                                        STR R0,[R1]       

                                        LDR R0,= 0x00000100
                                        LDR R1,= 0xA0000014
                                        STR R0,[R1]
此帖出自stm32/stm8论坛
 
 
 

回复

76

帖子

0

TA的资源

一粒金砂(初级)

6
 
我的分散加载文件是这样的:
LR_IROM1 0x08000000 0x00020000                                                                         ;; Load region
{
    ER_IROM1 0x08000000        0x08020000
    {
        vectors.o (VECT, +First)
        init.o (INIT)
        * (+RO)
    }

    RW_RAM1 0x68000000 0x00080000  {  ; RW data
     .ANY (+RW +ZI)
   }
   RW_IRAM1 0x20000000 0x0000C000  {
    .ANY (+RW +ZI)
   }                                                          ;; The following declarations select the "two region model" ;
                                                                ;; A default __user_initial_stackheap() will be used        ;
    ARM_LIB_HEAP  0x68070000 EMPTY  0x00000200   {}
    ARM_LIB_STACK 0x68080000 EMPTY -0x00000200   {}
}
但是为什么我的一跑就死呢?我用的是ucos2.86,如果我不跑外部的sram就可以正常工作
此帖出自stm32/stm8论坛
 
 
 

回复

73

帖子

0

TA的资源

一粒金砂(初级)

7
 
vector.s里的这个初始化文件一定要测试,先测试下确保是否驱动正常。如果驱动都不正常,肯定会死。
QQ:57031680
此帖出自stm32/stm8论坛
 
 
 

回复

19

帖子

0

TA的资源

一粒金砂(中级)

8
 
最近想在SRAM里跑跑  顶 学习中
此帖出自stm32/stm8论坛
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表