查看: 1912|回复: 1

[MQX] 在MQX中怎么配置SRAM,求关注,求教育!!!

[复制链接]

该用户从未签到

9

主题

18

帖子

0

注册会员

Rank: 2

积分
71
最后登录
1970-1-1
发表于 2014-4-15 20:10:16 | 显示全部楼层 |阅读模式
 
在MQX中怎么配置SRAM,求关注,求教育!!!
                        
            板子是用的K60,扩展芯片is61wv102416bll,想在MQX中扩展默认内存池
            请教关于SRAM的事情。我想通过SRAM扩展默认内存池。
            1.先用flexbus初始化,
            2.调用_mqx_uint _mem_extend(pointer start_of_pool,_mem_size size),start_of_pool我设置的0x7000 0000,用的是is61wv102416bll芯片扩充的,所以大小是设置的0x0100000
            函数返回25,然后把size设置的小一点0x05ffff就可以成功。
            3.用_mem_alloc_zero(_mem_size size)进行测试
            问题:
            1.在用绝对地址直接访问的时候从0x7000 0000开始访问,发现有些地址访问不到,
            2.在用mem_alloc_zero动态申请内存的时候,得到的内存地址是从0x7000 0000开始的,我个人认为不是应该从0x0000 0000 开始的吗?
             
                        static void _bsp_flexbus_setup (void)
            {
                #define ALT5                    0x05
                #define OFF_CHIP_ACCESS_ALLOW   3
             
                PORT_MemMapPtr  pctl;
                SIM_MemMapPtr   sim = SIM_BASE_PTR;
                FB_MemMapPtr    fb_ptr = FB_BASE_PTR;
             
                /* Enable clock to FlexBus module */
                sim->SCGC7 |= SIM_SCGC7_FLEXBUS_MASK;
                sim->CLKDIV1 |= SIM_CLKDIV1_OUTDIV3(0x0);
                sim->SOPT2 |= SIM_SOPT2_FBSL(OFF_CHIP_ACCESS_ALLOW);
                
                pctl = (PORT_MemMapPtr)PORTB_BASE_PTR;
                pctl-&gtCR[6] = PORT_PCR_MUX(ALT5); /* IO7 */
                pctl-&gtCR[7] = PORT_PCR_MUX(ALT5); /* IO6 */
                pctl-&gtCR[8] = PORT_PCR_MUX(ALT5); /* IO5 */
                pctl-&gtCR[9] = PORT_PCR_MUX(ALT5); /* IO4 */
                pctl-&gtCR[10] = PORT_PCR_MUX(ALT5); /* IO3 */
                pctl-&gtCR[11] = PORT_PCR_MUX(ALT5); /* IO2 */
                pctl-&gtCR[16] = PORT_PCR_MUX(ALT5); /* IO1 */
                pctl-&gtCR[17] = PORT_PCR_MUX(ALT5); /* IO0 */
                pctl-&gtCR[18] = PORT_PCR_MUX(ALT5); /* A15 */
                pctl-&gtCR[19] = PORT_PCR_MUX(ALT5); /* FB_OE */
                pctl->PCR[20] = PORT_PCR_MUX(ALT5); /* IO15 */
                pctl->PCR[21] = PORT_PCR_MUX(ALT5); /* IO14 */
                pctl->PCR[22] = PORT_PCR_MUX(ALT5); /* IO13 */
                pctl->PCR[23] = PORT_PCR_MUX(ALT5); /* IO12 */
                
                pctl = (PORT_MemMapPtr)PORTC_BASE_PTR;
                pctl->PCR[0] = PORT_PCR_MUX(ALT5); /* A14 */
                pctl->PCR[1] = PORT_PCR_MUX(ALT5); /* A13 */
                pctl->PCR[2] = PORT_PCR_MUX(ALT5); /* A12 */
                pctl->PCR[4] = PORT_PCR_MUX(ALT5); /* A11 */
                pctl->PCR[5] = PORT_PCR_MUX(ALT5); /* A10 */
                pctl->PCR[6] = PORT_PCR_MUX(ALT5); /* A9 */
                pctl->PCR[7] = PORT_PCR_MUX(ALT5); /* A8 */
                pctl->PCR[8] = PORT_PCR_MUX(ALT5); /* A7 */
                pctl->PCR[9] = PORT_PCR_MUX(ALT5); /* A6 */
                pctl->PCR[10] = PORT_PCR_MUX(ALT5); /* A5 */
                pctl->PCR[11] = PORT_PCR_MUX(ALT5); /* FB_RW_b */
                pctl->PCR[12] = PORT_PCR_MUX(ALT5); /* IO11 */
                pctl->PCR[13] = PORT_PCR_MUX(ALT5); /* IO10 */
                pctl->PCR[14] = PORT_PCR_MUX(ALT5); /* IO9 */
                pctl->PCR[15] = PORT_PCR_MUX(ALT5); /* IO8 */
                
             
                pctl = (PORT_MemMapPtr)PORTD_BASE_PTR;
                pctl->PCR[1] = PORT_PCR_MUX(ALT5); /* CS0 */
                pctl->PCR[2] = PORT_PCR_MUX(ALT5); /* A4 */
                pctl->PCR[3] = PORT_PCR_MUX(ALT5); /* A3 */
                pctl->PCR[4] = PORT_PCR_MUX(ALT5); /* A2 */
                pctl->PCR[5] = PORT_PCR_MUX(ALT5); /* A1 */
                pctl->PCR[6] = PORT_PCR_MUX(ALT5); /* A0 */
                pctl->PCR[8] = PORT_PCR_MUX(ALT5); /* A16 */
                pctl->PCR[9] = PORT_PCR_MUX(ALT5); /* A17 */
                pctl->PCR[10] = PORT_PCR_MUX(ALT5); /* A18 */
                pctl->PCR[11] = PORT_PCR_MUX(ALT5); /* A19 */
               
                
            }
             
             static void _bsp_flexbus_sram_setup (const uint_32 base_address)
            {
                FB_MemMapPtr fb_ptr = FB_BASE_PTR;
             
                /* Enable external MRAM mapped on CS0 */
                /* CS0 base address */
                fb_ptr->CS[0].CSAR = base_address;
                /* CS0 control (8bit data, 1 wait state) */
                fb_ptr->CS[0].CSCR = FB_CSCR_AA_MASK |//auto-acknowledge
                                     FB_CSCR_WS(2)   |
                                     FB_CSCR_PS(2)   |  // 16-bit port
                                     FB_CSCR_BEM_MASK;
                
                /* CS0 address mask and enable */
                fb_ptr->CS[0].CSMR = FB_CSMR_BAM(0x15) | FB_CSMR_V_MASK; //(1024*1024-1)>>16
            }
            测试程序
             
                            volatile uint8_t wdata8 = 0x00;
                volatile  uint8_t rdata8 = 0x00;
                volatile uint32_t wdata32 = 0x00;
                volatile uint32_t rdata32 = 0x00;
                uint32_t n = 0;
                
                uint32_t address = (uint32_t)0x70000000;
                  
                wdata8=0xA5;   //data to write to mram
                
                for (n=0x00000; n < 0x01; n++)  //address offset
                {
                    *(uint8_t*)(address + n) = wdata8;  //write
                    rdata8=0x00;  //clear data variable;
                    rdata8=*(uint8_t*)(address + n);  //read
                }
                
                wdata32=0x87654321;   //data to write to mram
                
                for (n=0x00000; n < 0x01; n++)  //address offset
                {
                    *(uint32_t*)(address + n) = wdata32;  //write
                    rdata32=0x00;  //clear data variable;
                    rdata32=*(uint32_t*)(address + n);  //read
                }
            
            
             附件中有init_hw.c中的配置,还有测试代码
            
            
            
我知道答案 目前已有0人回答

code.rar

4.06 KB, 下载次数: 1, 下载积分: 威望 1

回复

使用道具 举报

该用户从未签到

124

主题

3600

帖子

0

金牌会员

Rank: 6Rank: 6

积分
5781
最后登录
1970-1-1
发表于 2014-4-16 11:47:41 | 显示全部楼层

RE: 在MQX中怎么配置SRAM,求关注,求教育!!!

你好,楼主!
针对你的问题特点,MQX工程师建议你,将你的问题提交SR,以便得到更好的获得技术支持。
https://www.nxpic.org.cn/bbs/article_1280_578569.html
回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

站长推荐上一条 /3 下一条

Archiver|手机版|小黑屋|恩智浦技术社区

GMT+8, 2025-7-21 03:28 , Processed in 0.092204 second(s), 23 queries , MemCache On.

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

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