-
1)通过简单的外设配置产生输出波形,可以很容易地知道当前的APB1总线上外设的频率。比如配置USART并发送一个数据(如0x55、0xAA),然后通过示波器测量即可;还可以配置定时器产生一个PWM输出,再通过示波器测量。
2)从硬件上讲,STM32不限制超频,但强烈不建议这么做,所以在什么情况下都不应该超。
-
不太了解。Reinitialize()可以被多次调用,但是DriverEntry()如果被多次调用可能不太正常。
是什么类型的驱动?第一次调用DriverEntry时返回成功了么?
-
大家好,,小弟第一次在21上发言,,不知道,在MDK下用哪个调试比较好,ulink ulinkme jlink
谢谢大家
-
引用楼主 bonjovi521 的回复:
我明年就学51单片机,回家想自学一下,能麻烦各位大侠推荐一本自学教材吗!!!谢谢谢谢了!!!
这本的确不错
-
这块是对于新手来讲比较麻烦,我当时也是比较费劲,我可以大致给楼主个流程,有兴趣的话自己再细看看代码,以后一起交流一下:
自己总结:
调用过程:keymatrix.cpp中的KernelIoControl()-> common\src\common\ioctl\ioctl.c中的OEMIoControl函数,在该函数中 通过rc = g_oalIoCtlTable.pfnHandler( code, pInBuffer, inSize, pOutBuffer, outSize, pOutSize);(这里要注意一下以前的4.2的时候都是用的case的形式,但是到6.0(或者是从5.0开始)就用的这种数结构里面一个一个对应的形式了)这句调用了OALIoCtlHalRequestSysIntr()这个函数调用的过程还是比较曲折的,呵呵,具体如下:g_oalIoCtlTable[],(这个数组是code和相应的函数对应的)具体在ioctl.tab.h中,而且这个数组的定义就很搞笑,利用了const OAL_IOCTL_HANDLER g_oalIoCtlTable[] = {
#include "ioctl_tab.h"
};这种形式,还是第一次见到,呵呵。在这个数组中,kerneliocontrol中的标志为 IOCTL_HAL_REQUEST_SYSINTR,对应的函数就是OALIoCtlHalRequestSysIntr。在 for (i = 0; g_oalIoCtlTable.pfnHandler != NULL; i++) {
if (g_oalIoCtlTable.code == code) break;
}中实现了和来自kerneliocontrol
函数中的code的配对,再利用 rc = g_oalIoCtlTable.pfnHandler(
code, pInBuffer, inSize, pOutBuffer, outSize, pOutSize
);实现了调用这个OALIoCtlHalRequestSysIntr()函数。在这个函数中又通过sysIntr = OALIntrRequestSysIntr(inpElems - 2, &pInpData[2], pInpData[1]);调用了C:\WINCE600\PLATFORM\COMMON\SRC\COMMON\INTR\BASE\map.c中的OALIntrRequestSysIntr这个函数,在这个函数中实现了逻辑中断和物理中断的对应。(具体如何实现的,本人还没太搞清楚。涉及到的两个数组是:g_oalSysIntr2Irq[sysIntr] = irq和g_oalIrq2SysIntr[irq] = sysIntr,这个地方有时间还得具体看下)
这一大段主要是实现了,物理和逻辑中断在数组中对应起来了,在这个基础上,在OEMInterruptHandler中才能根据nkcallchain()实现物理中断和逻辑中断的对应。
-
不会发啊
-
如果要更改的话,串口程序函数名(COM_Open之类的),DEF文件,注册表都需要改,而且不知道改了后有没有其它的影响
-
我可不可以把缺的那句自己加进去
引用 4 楼 veabol 的回复:
看一下PUBLIC下的common.bib等bib文件,是加了哪个环境变量才包含的httplite.dll,设置这个变量或者点击加组件就行了
-
引用 4 楼 oneonce 的回复:
结贴率0.0%还在点名让人解决问题。
我都没注意他的结贴率,这个要点名批评一下了,呵呵
-
接分,楼主好好想想怎么改进的,我们很期待原因啊
-
问题找到了,是IAR工程建的有问题,刚刚用IAR5.30,并且将固件库升级到3.1.0,不太熟悉,呵呵,谢谢大家帮忙分析!
-
怎么粗略估计一下????????????????????????????????
-
没有满足((t10min==1)的条件
-
引用 8 楼 joyzml 的回复:
建议从9开始,我是从8位机,到ARM7,到ARM9走过来的。现在在学习S3C2440,跑WINCE5.0的操作系统。现在发现搞ARM7搞了那么久,真不应该。真的建议从ARM9开始。学习ARM9不跑操作系统,和学习ARM7差不多。裸机搞清了,再跑系统。但是ARM7你要想跑WINCE,LINUX就不行了。欢迎交流。
我同意joyzml 说法,ARM9裸奔的时候就是完全和ARM7类似,上了wince或者linux就牛了。嘿嘿
-
一般,比一般的培训时间长点吧,我以前还在里面做过老师
-
好像没有办法区分......为什么有这样的需求呢????
-
我以前写的
参考一下
#include
#include
#define INBUF_LEN 4//数据长度
//xdata unsigned char inbuf1[INBUF_LEN];
unsigned char inbuf1[INBUF_LEN]={0x23,0x45,0x26,0x57};
unsigned char checksum,count3;
bit read_flag= 0 ;
void init_serialcomm( void )
{
SCON = 0x50 ; //SCON: serail mode 1, 8-bit UART, enable ucvr 字串8
TMOD |= 0x20 ; //TMOD: timer 1, mode 2, 8-bit reload
PCON |= 0x80 ; //SMOD=1;
TH1 = 0xF4 ; //Baud:4800 fosc=11.0592MHz
IE |= 0x90 ; //Enable Serial Interrupt
TR1 = 1 ; // timer 1 run
// TI=1;
}
//向串口发送一个字符
void send_char_com( unsigned char ch)
{
SBUF=ch;
while (TI== 0 );
TI= 0 ;
}
//向串口发送一个字符串,strlen为该字符串长度
void send_string_com( unsigned char *str, unsigned int strlen)
{
unsigned int k= 0;
do
{
send_char_com(*(str + k));
k++;
} while (k < strlen);
}
//字串2
//串口接收中断函数
void serial () interrupt 4 using 3
{
if (RI)
{
unsigned char ch;
RI = 0 ;
ch=SBUF;
if (ch> 127 )
{
count3= 0 ;
inbuf1[count3]=ch;
checksum= ch- 128 ;
}
else
{
count3++;
inbuf1[count3]=ch;
checksum ^= ch;
if ( (count3==(INBUF_LEN- 1 )) && (!checksum) )
{
read_flag= 1 ; //如果串口接收的数据达到INBUF_LEN个,且校验没错,就置位取数标志
}
}
}
}
main()
{
init_serialcomm(); //初始化串口
while ( 1 )
{
if (read_flag) //如果取数标志已置位,就将读到的数从串口发出
{ //字串4
read_flag= 0 ; //取数标志清0
send_string_com(inbuf1,INBUF_LEN);
}
}
}
-
bin:粗糙的理解为格式,nk.bin,eboot.bin,见过吧
xip:直接执行,如果代码放在nor flash或rom里就可以xip
multi-bin是指将nk的内容放在多个bin文件里
multi-xip我猜是多个可以直接执行的代码吧。
------------------------------------
仅凭印象,懒得去找资料了。
-
怎么没人回复呢?自己顶一下
-
引用楼主 ffeige1984 的帖子:
应用程序放在NAND FLASH,开机让WINCE启动应用程序怎么实现啊,以前是把应用程序编译到内核采用下边方法实现的
1、 将应用程序和应用程序快捷方式添加到映像里,再将快捷方式添加到StartUp目录下,这样当系统运行后应用程序就能自动运行;
2、 直接替换Wince的SHELL,即修改注册表:
[HKEY_LOCAL_MACHINE\init]
"Launch50"="explorer.exe"
"Depend50"=hex:14,00, 1e,00
把这个explorer.exe改成你的应用程序(…
方法不错,各有千秋。
根据不同需要,采用不同方式。