1.调试 (1)把程序拷贝到服务器上进行编译 (2)把程序放到内核上面去 重新配置内核,吧原来的声卡驱动程序去掉 a. 修改语法错误 11th_myalsa b. 配置内核去掉原来的声卡驱动 -> Device Drivers   -> Sound card support     -> Advanced Linux Sound Architecture        -> ALSA for SoC audio support               c. 使用新内核启动 d.…
1.引言 (1)应用程序使用声卡的时候,数据流程是:应用程序把数据发送给驱动,驱动把数据发送给硬件声卡,声卡把数据转换成声音数据播放出去. (2)可以使用两种方式发送数据 第一种:app发数据,等驱动处理完后再发下一段(处理完再发下一段就会导致声音会断断续续 ) 第二种:应用程序不断地发数据,驱动程序不断地取数据,不断地发给硬件.解决了声音断续的问题,但是要创建一个非常大的缓冲区(在驱动程序里面申请的 ,称其为buffer) 一个采样点的数据包括左声道数据和右声道数据 这里hw_ptr是指针(…
1.整体框架 (1)图示((DAI(全称Digital Audio Interface)接口)) 在嵌入式系统里面,声卡驱动是ASOC,是在ALSA驱动上封装的一层,包括以下三大块 (2)程序框架 machine:s3c2440_uda1341.c codec: UDA1341,WM8976 platform:IIS ,DMA 2.s3c2440_uda1341.c(参考s3c24xx_uda134x.c) (1)分配一个平台为soc-audio的平台设备, 在这平台设备里面有一个核心结构体sn…
1.设置音量时应用程序的调用过程 (1)strace分析: amixer cset numid=1 30 (设置音量) /dev/snd/controlC0 open SNDRV_CTL_IOCTL_CARD_INFO SNDRV_CTL_IOCTL_PVERSION SNDRV_CTL_IOCTL_ELEM_INFO SNDRV_CTL_IOCTL_ELEM_READ SNDRV_CTL_IOCTL_ELEM_WRITE : snd_ctl_elem_write_user (2)应用程序调用S…
1.参数设置分析 (1)open: soc_pcm_open 依次调用cpu_dai, dma, codec_dai, machine的open或startup函数 只在dma的open函数里添加参数相关的代码 (2)SNDRV_PCM_IOCTL_HW_PARAMS: soc_pcm_hw_params 依次调用machine,codec_dai,cpu_dai,platform(dma)的hw_params函数      在uda1341.c, s3c2440-iis.c里实现hw_para…
OD调试学习笔记7—去除未注册版软件的使用次数限制 本节使用的软件链接 (想自己试验下的可以下载) 一:破解的思路 仔细观察一个程序,我们会发现,无论在怎么加密,无论加密哪里,这个程序加密的目的就是需要你掏腰包来获得更多的功能或者解除限制.那么我们就可以逆向的来思考,如果该程序成功的注册后,那么程序的行为必将发生变化,如NAG去除了,如功能限制没有了等等.也就是说,程序的代码的走法也会跟未注册的时候截然不同.因为程序的行为改变了,那么决定它所有行为的代码走法也会发生变化. 二:认识OD的两种断点…
上位机工具:http://www.xk-image.com/download/blog/0002_TP调试/LcdTools20210605.rar 调试案例:http://www.xk-image.com/download/blog/0002_TP调试/PS173-4.7-PX01 - touch debug.rarhttp://www.xk-image.com/download/blog/0002_TP调试/PS267-PX01_IIC_touch debug-v2.rarhttp://ww…
相关文件下载: 上位机工具:http://www.xk-image.com/download/blog/0002_TP调试/LcdTools20210605.rar 调试案例:http://www.xk-image.com/download/blog/0002_TP调试/PS173-4.7-PX01 - touch debug.rarhttp://www.xk-image.com/download/blog/0002_TP调试/PS267-PX01_IIC_touch debug-v2.rarh…
好不容易把环境打好了,一定要试试牛刀.我创建了一个极其简单的程序(如下).让我们期待会有好的结果吧,阿门! using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { int a; string str; a = ; str…
最近产品环境出现了部分服务器当机情况,虽然重启之后问题就不出现了.但本着彻底解决问题的态度,想要找到root cause.多次尝试Visual Studio失败(可能是代码惊醒了优化和签名)之后,决定使用WinDBG来调试.于是...灾难发生了. 想要一次性成功搭建测试环境,那得靠人品.看来我近来人品积累的不够,不断的有小问题出现.比如加载SOS和CLR,就让我不胜其烦.必须得记下来,分享出来,以节省大家的时间. 问题一:WinDBG分X86和X64两个版本 如果你用的是32位的WinDBG,那…