• nor与nand


    韦东山判断nor,nand启动时:
    volatile unsigned int *pZeroAddr = (volatitle usnigned int)0;
    int iValOfZeroAddr = *pZeroAddr; //nor flash可以像内存一样去读取。
    pZeroAddr = 0x123456; //但是不能像内存这样去写
    if(
    pZeroAddr!=0x123456)
    {
    //当前程序是在ram中运行着,也就是nand启动后,然后加载4k到的片内ram,所以是nand启动。
    }
    else
    {
    //当前程序还在nor中运行着
    }

    总结:
    能够直接以下面这种方式读写内存的必然是ram

    volatile unsigned int *pZeroAddr = (volatitle usnigned int)0;
    int iValOfZeroAddr = *pZeroAddr; //可能是nor,可能是ram
    *pZeroAddr = 0x123456; //必然是ram,若果是nor的话需要对照手册,有具体的时许,逻辑才能进行写入操作

    2、为什么汇编转到c时要设置栈。
    因为c又变量的定义,都是存在内存的栈区的,函数跳转等实现都离不开栈,不像汇编直接操作r0-rx这样的寄存器,
    不存在栈的概念。

    3、内存中栈向下增长,也就是低地址增长?

    4、编写裸板程序时,能够可以直接烧写到2440内部中,不需要其它所谓的nor nand?
    答:不行,因为2440没有片内rom。

    2440自带的RAM是:
    16K Instruction cache(icache) + 16K data cache + 4K Boot Internal SRAM(dcache)
    但是我们能用到的只有4K Boot Internal SRAM。2440不自带ROM

    5、烧写到nand时的裸板程序会将其前4k加载到片内ram,那nor启动的裸板呢,是把程序加载到片内ram还是片外的sdram?
    答:由你代码实现决定,若加载到片内ram,要注意是否足够你裸板程序的运行,因为只有4k
    //norflash是否可以脱离内存,直接运行程序?答:不行
    https://www.cnblogs.com/amanlikethis/p/3332491.html

    https://blog.csdn.net/d_a_r_k/article/details/50968016

  • 相关阅读:
    JeePlus:代码结构
    JeePlus:项目部署
    JeePlus:Maven 安装配置
    JeePlus:目录
    框架-Java:JeePlus
    Java-JSP:EL表达式
    Template-FreeMarker:模板开发指南
    Template-FreeMarker:什么是 FreeMarker?
    FreeMarker:
    Template-FreeMarker:目录
  • 原文地址:https://www.cnblogs.com/retry/p/11611742.html
Copyright © 2020-2023  润新知