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