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
离线