使用KITL的详细教程

引自:http://blog.csdn.net/gooogleman/archive/2009/03/18/4001784.aspx

 

8.3 usb serial kitl
1. To enable wince image with usb serial kitl,you must do the following:
>X:\WINCE500\PLATFORM\SMDK2440A\smdk2440a.bat file must have the following settings:
set BSP_NOCS8900=
set BSP_NOSERIAL=
set BSP_NOUSBFN=1
>X:\WINCE500\PLATFORM\SMDK2440A\Src\Inc\kitl_cfg.h file must have the following settings:
//#define KITL_SERIAL_UART0
//#define KITL_SERIAL_UART1
#define KITL_USBSERIAL
//#define KITL_ETHERNET 然后,修改编译设置,这个很关键,否则根本调试不了。之后就可以编译了。当编译出一个KITL内核以后,烧写进flash以后就不用再烧写了,KITL最大方便就是如此。
然后,进入platform settings,选择:
Enable CE Target Control Support(SYSGEN_SHELL=1)
Enable Eboot Space in Memory(IMGEBOOT=1)
Enable Kernel Debugger(no IMGNODEBUGGER=1)
Enable KITL(no IMGNOKITL=1)
  哦,还少了个连接设置,这个也是缺一不可,否则KITL也是无法attach device成功的。
进入Target Device Connectiveity Options
Kernel Service Map:
Target Device:CE Device
Download:None
Transport:USB
Debugger:KdStub
还有一个重要步骤,就是执行target——》Release Directory Modules
点击Add:
加入PowerButton.dll
    touch.dll
说明:这是必要步骤,否则没有办法在断点停住。
   现在,我们来做个实验,看看KITL是否真的起作用了。修改PowerButton驱动,在初始化函数中加入了一个打印信息。看看这样是否真的能打印。Come on!
DWORD
HW_InitRegisters(
    PPWR_CONTEXT pPWR)
{
    DWORD retry =0;
    v_pIOPregs =(volatile S3C2440A_IOPORT_REG *)VirtualAlloc(0, sizeof(S3C2440A_IOPORT_REG...))
    ....
    RETAILMSG(1,(TEXT("caichang@#$KITL Test @ PowerButton \r\n")));
    v_pIOPregs->GPFCON &=~(0X3<<0);      // SET EINT0(GPF0) AS EINT0, and add breakpot here,执行attach device命令后停在断点处
    v_pIOPregs->GPFCON &=~(0X3<<0);
    ...
    return 0;
}
编译PowerButton驱动,然后执行attach device连接,就会停在上图了,并且会在PB打印信息窗口看见真的新增加的信息,看来确实成功了。不过在这里要提醒的是,这个断点必须在编译驱动之前设置,以前我我在attach device之后设置,真是贻笑大方!
5152 TID:c3dc4002 HW_Init : HW_InitRegisters+++++++XXXXXXX@@@@@@@@@@
5152 TID:c3dc4002 HW_Init : caichang@#$KITL Test @ PowerButton
哈哈,寄存器的值都可以显示出来。
 OK!KITL调试驱动验证完毕。谢谢CSDN众多网友,尤其是Ricky_hu,sunrain_hjb,gsymichael 等。这些都是雕虫小技,但是很多人都不能拿到三星的操作文档,所以我就来献丑了。在这里我要提醒的是,修改一次驱动就要启动一次设备,否则是不行的,这是KITL的鸡肋,不过像本机驱动这种东西他就是在启动的时候运行的,所以用KITL来调试本机驱动是上上之选。对于流驱动的调试,我觉得万不得已不要用使用。因为KITL之后系统会运行很慢,并且同步软件不能连接,还是使用驱动调试助手控制注册表比较适合。

     最后我要提几个问题,希望了解的朋友能留言告诉我。

     1.编译出KITL内核运行后,触摸屏变得不准了,但是我的BSP之前是准确的,我想是KITL之后系统运行慢很多,导致AD采用速率慢了,所以必须重新校正。——后来发现,是没有得到更新的缘故。我也奇怪,我操作正常,但是却不理想。

     2.还有我编译debug KITL会造成启动过程中,弹出对话框,无法正常启动,不知道是什么原因。现在我只能编译release 的NK,打印信息很少。

     3.我本来可行的ZLG7290 的键盘驱动本来是可行的,但是现在按下毫无反映。莫非也是速度变慢,造成读的键盘的值有误?——后来发现,是没有得到更新的缘故。我也奇怪,我操作正常,但是却不理想。

     请知道的朋友留言指点。谢谢。

     注意事项:sources文件指定生成的DLL名字要和BIB文件汇中的加载名字一致,否则不能产生断点的。例如三星的自带触摸屏驱动就是这样,我刚开始没有修改之前是

 touch.dll      $(_FLATRELEASEDIR)\s3c2440a_touch.dll                 NK  SH
这样是不行的,后来我改成:

 touch.dll       $(_FLATRELEASEDIR)\touch.dll                 NK  SH

就行了。


     支持KITL的 2440 BSP下载地址http://d.download.csdn.net/down/1115341/gooogleman

 

 

转载于:https://www.cnblogs.com/Torres_fans/archive/2009/10/23/1588696.html

深度学习是机器学习的一个子领域,它基于人工神经网络的研究,特别是利用多层次的神经网络来进行学习和模式识别。深度学习模型能够学习数据的高层次特征,这些特征对于图像和语音识别、自然语言处理、医学图像分析等应用至关重要。以下是深度学习的一些关键概念和组成部分: 1. **神经网络(Neural Networks)**:深度学习的基础是人工神经网络,它是由多个层组成的网络结构,包括输入层、隐藏层和输出层。每个层由多个神经元组成,神经元之间通过权重连接。 2. **前馈神经网络(Feedforward Neural Networks)**:这是最常见的神经网络类型,信息从输入层流向隐藏层,最终到达输出层。 3. **卷积神经网络(Convolutional Neural Networks, CNNs)**:这种网络特别适合处理具有网格结构的数据,如图像。它们使用卷积层来提取图像的特征。 4. **循环神经网络(Recurrent Neural Networks, RNNs)**:这种网络能够处理序列数据,如时间序列或自然语言,因为它们具有记忆功能,能够捕捉数据中的时间依赖性。 5. **长短期记忆网络(Long Short-Term Memory, LSTM)**:LSTM 是一种特殊的 RNN,它能够学习长期依赖关系,非常适合复杂的序列预测任务。 6. **生成对抗网络(Generative Adversarial Networks, GANs)**:由两个网络组成,一个生成器和一个判别器,它们相互竞争,生成器生成数据,判别器评估数据的真实性。 7. **深度学习框架**:如 TensorFlow、Keras、PyTorch 等,这些框架提供了构建、训练和部署深度学习模型的工具和库。 8. **激活函数(Activation Functions)**:如 ReLU、Sigmoid、Tanh 等,它们在神经网络中用于添加非线性,使得网络能够学习复杂的函数。 9. **损失函数(Loss Functions)**:用于评估模型的预测与真实值之间的差异,常见的损失函数包括均方误差(MSE)、交叉熵(Cross-Entropy)等。 10. **优化算法(Optimization Algorithms)**:如梯度下降(Gradient Descent)、随机梯度下降(SGD)、Adam 等,用于更新网络权重,以最小化损失函数。 11. **正则化(Regularization)**:技术如 Dropout、L1/L2 正则化等,用于防止模型过拟合。 12. **迁移学习(Transfer Learning)**:利用在一个任务上训练好的模型来提高另一个相关任务的性能。 深度学习在许多领域都取得了显著的成就,但它也面临着一些挑战,如对大量数据的依赖、模型的解释性差、计算资源消耗大等。研究人员正在不断探索新的方法来解决这些问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值