官方淘宝店 易迪拓培训 旧站入口
首页 > 手机设计 > MTK手机设计平台 > MTK6753 MMU

MTK6753 MMU

05-08

请问xlat_tables.c中函数init_xlation_table的作用是什么,next_xlat,MAX_XLAT_TABLES分别是什么作用?
现在遇到了很奇怪的问题,麻烦同行指点:
如果屏的分辨率是720*1280或800*1280开机时正常.
如果屏的分辨率是480*800开机时会重启,重启处为红色加粗语句处
.h文件中MAX_XLAT_TABLES = 11
mmap_region_t *init_xlation_table(mmap_region_t *mm, unsigned long base,unsigned long *table, unsigned level)
{
unsigned level_size_shift = L1_XLAT_ADDRESS_SHIFT - (level - 1) *XLAT_TABLE_ENTRIES_SHIFT;
unsigned level_size = 1 << level_size_shift;
unsigned long level_index_mask = XLAT_TABLE_ENTRIES_MASK << level_size_shift;
do {
unsigned long desc = UNSET_DESC;
if (mm->base + mm->size <= base)
{
++mm;
continue;
}
if (mm->base >= base + level_size)
{
desc = INVALID_DESC;
}
else if (mm->base <= base &&mm->base + mm->size >= base + level_size)
{
int attr = mmap_region_attr(mm, base, level_size);
if (attr >= 0)
desc = mmap_desc(attr, base, level);
}
if (desc == UNSET_DESC)
{
unsigned long *new_table = xlat_tables[next_xlat++];
assert(next_xlat <= MAX_XLAT_TABLES);
desc = TABLE_DESC | (unsigned long)new_table;
mm = init_xlation_table(mm, base, new_table, level+1);
}
*table++ = desc;
base += level_size;
} while (mm->size && (base & level_index_mask));
return mm;
}

顶一下!

专业供应深港MTK套片:4G 芯片:MT6795 MT6755 MT6753 MT6735 MT6752
3G: MT6580 MT6582 MT6572
平板芯片:MT8735 MT8382 MT8127 MT8163
穿戴设备:MT2601 MT2503
有需求请联系:林生 电话:15014010664 QQ:616684804   公司从05年开始做到现在10多年了 老品牌,信誉高!

Top