小编Ye *_*Liu的帖子

在飞思卡尔iMX31上,如何将SDRAM地址转换为CPU地址?

我是iMX31和嵌入式系统的新手,请帮助我理解从SDRAM地址到ARM CPU地址的转换,特别是在SDRAM控制器的"特殊"命令模式下.

这是我有问题的SDRAM初始化代码:

    ldr r0, ESDCTL_BASE_W
    mov r2, #SDRAM_BASE_ADDR /* 0x80000000 */

    ldr r1, =0x92100000 /* Precharge */
    str r1, [r0]
    ldr r1, =0x0
    ldr r12, =0x80000F00
    str r1, [r12]

    ldr r1, =0xA2100000 /* Auto-refresh */
    str r1, [r0]
    ldr r1, =0x0
    str r1, [r2]

    ldr r1, SDRAM_0xB2100000 /* Load Mode Register */
    str r1, [r0]
    ldr r1, =0x0
    strb r1, [r2, #0x33]

    ldr r1, =0xFF
    ldr r12, =0x81000000
Run Code Online (Sandbox Code Playgroud)

我的RAM是Micron LPDDR MT46H64M32LF,这段代码很好地遵循初始化程序,但在PRECHARGE步骤中,地址0x80000F00来自何处?

从iMX31参考手册中我了解到,在PRECHARGE …

embedded microcontroller assembly arm

5
推荐指数
0
解决办法
470
查看次数

当通过templateUrl加载指令模板时,ng-repeat不绑定

我被困在这几个小时和几个小时 - 有人可以帮忙吗?

我有一个嵌套指令列表,我正在通过ng-repeat迭代.这些指令的模板相当厚实,所以我将它们模块化为单独的HTML文件并通过templateUrl加载它们,但这似乎打破了数据绑定.

我在这里复制了这个问题:http: //plnkr.co/edit/72HUb0vhtpYWuRHnlq3b?p=preview

HTML:

<div project-ext ng-repeat="project in projects"></div>
Run Code Online (Sandbox Code Playgroud)

project.html

{{project.name}} <button ng-click="projects.splice($index,1)">-</button><br>
<div schedule-ext ng-repeat="schedule in project.schedules"></div>
Run Code Online (Sandbox Code Playgroud)

schedule.html

{{schedule.name}}<button ng-click="remove($index)">-</button>
Run Code Online (Sandbox Code Playgroud)

JS:

app.directive('projectExt', function() {
    return { 
        templateUrl: 'project.html'
    };
});

app.directive('scheduleExt', function() {
    return { 
        templateUrl: 'schedule.html',
        link: function(scope) {
            scope.remove = function(i) {
                scope.$parent.project.schedules.splice(i,1)
            };
        }
    };
});
Run Code Online (Sandbox Code Playgroud)

任何人都可以告诉我为什么删除按钮在第二个列表中不起作用,当我所做的只是将指令构造从模板更改为templateUrl?

angularjs angularjs-directive angularjs-ng-repeat

1
推荐指数
1
解决办法
2762
查看次数