您尚未登录。

楼主 #1 2018-05-01 00:34:07

kgp0213
会员
注册时间: 2018-01-15
已发帖子: 149
积分: 149

XBOOT 部分功能小结---2

XBOOT 部分功能小结---2

1,do_init_kobj这个里面一堆超级技巧

整个模块化加载,就靠这个

简单理解了后,会发现超级简单

就是划一片内存,然后管理

就是搞一些链表什么的,链接各种内存片段

2,pump_event

pump_event这个是异步的,xboot的外设,鼠标 键盘 触摸屏 等任何event消息,都是丢进fifo的,用的时候,仅需要取,就行了

3,获取程序耗时

    profiler_reset();
    //void profiler_snap(const char * name, int event, int data);
    profiler_snap("name",0,0);  //抓取一次时间,标记为name,多次执行本语句,计算平均耗时
    profiler_dump()    //显示相应的耗时
    //例如:
    int n=100;
    while (n<1)
    {
        mdelay(2);
        profiler_snap(testmdelay,0,0);
        n--;
    }
    profiler_dump();

4,滤波,filter

在目录xboot\src\lib\libc\filter下有一些通用滤波器代码,可以直接用

5, 链接脚本

    MEMORY
    {
        ram  : org = 0x40000000, len = 16M
        dma  : org = 0x41000000, len = 16M
        heap : org = 0x42000000, len = 32M
    }

上述三者之和要和DRAM一样大。heap段为malloc用;ram段其实,就是text段,data段;dma段预留,几个frambuffer的大小,其实没啥用(因为F1C100S的FB驱动中其实frambuffer是设定在heap段)。

6,查看时钟频率

查时钟频率,可以去/sys/device/clk/下查看,cat xxx/summary 就可以了,时钟树的配置,以及调试,xboot已经做得很方便了

7,查看内存用量

使用memory相关sysfs,可以查看当前内存用量,dma内存使用情况

    cat /sys/class/memory/meminfo
    cat /sys/class/memory/dmainfo

离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn