-
版主只负责技术,不负责销售,
-
继续向STM32W大侠请教:
__root 定义函数是保证没有使用的函数或者变量也能够包含在目标代码中,在程序中执行时是不是自动插入到启动代码之间?在程序中定义了__root char __low_level_init(void)函数,是不是替换了 ...
YES
-
谢谢您的回答!
想确认一下:如果加载成功的话,驱动*.Dll是直接显示在process列表里呢?
还是显示在udevice.exe的加载模块里呢?
-
照楼主那么说,编译器确实非常糟糕
-
做驱动要学操作系统,计算机体系结构,还有汇编与C语言。楼主学硬件,计算机体系结构应该没问题,汇编与C语言应该也没问题,那就先了解下操作系统吧。驱动都是运行在操作系统下的。要是那些不带系统的驱动,就好办多了。楼主想搞什么驱动?
-
我不是OEM,自己定制不了。
-
帮你顶
-
同意楼上
-
但是在bootrom启动的时候都是可以访问的啊,而应用程序编译的syslib.c和bootrom的是一个文件啊,映射应该是ok的吧
-
用到哪个入哪个,没有用到的就不需要了.
-
看楼主的需求,应该是不需要OS的。纯粹当作单片机来用的。
开发板一般都带有ADS project的程序吧。用那个就可以了。简单练习,熟悉一下cpu的功能。
-
奇怪的问题我也遇到过,确实是没法解释,不过很多原因源于我们对芯片和编译器的了解,从自身找找原因,我觉得更实际些,没有十全十美东东西,只有合适不合适。
-
改背景方式都一样吧。。直接获取按键的hdc就好了啊。
-
我用的是mass stroage 被pc 识别成硬盘了, 想让他隐藏起来, 试过了 MountFlags MountHidden,
不知道是什么原因, 但是我在 [HKEY_LOCAL_MACHINE\Drivers\BuiltIn\SMFLASH] 中设置 Flags = dword:11000 时 3个分区都被隐藏了, 我只想隐藏 其中的2个分区, 这个 改怎么弄呢????
-
manul 上应该有介绍吧
-
笔试考这种,看难有困难了
-
12楼: 楼上你好,所有的程序都有封装和继承。
你写个SPI的驱动(类),这样你就可以在这个基础上不断的继承与发展下去,这些工作是你做的,
难道 C++的‘继承’是CPU依靠自己的“智慧”把代表继承下来的吗? 还不是微软的那帮程序员把代码都写好,
然后,你就可以使用它们忽悠的所谓C++‘继承’,当然不用写什么东西,
好比 按钮 ‘继承’了窗体的某些’特性‘代码。
所有的程序都有封装。
某些变量,函数如果不想告诉被其他外部程序调用,不对外公布入口就可以了,
好比上面说的SPI驱动(类), 只向外提供一个读,一个写,函数不就可以吗?
内部具体的SPI FLASH微代码操作,没必要告诉谁吧,也没必要向外提供吧,这不就是封装了吗?
我看楼上被人忽悠的迷迷糊糊的!
--------------------
十分感谢这位仁兄的指点
我想说的是,你所说的继承是软件工程管理意义上的继承,我说的是代码的无缝直接继承。就是拿来直接可以用的。我知道C这方面也有拿来很容易使用的code,但是你要向上扩展,你多多少少是要改一点code的。而C++不一样,我根本不需要管class里面是怎样的code,直接继承调用它的public函数就ok。甚至可以生成N个同样的对象,放在一个C++容器里面。
这个最直接的例子就是,C++的数据结构类,继承完了一个数据元素,直接放在容器里面,可以动态增长删除。方便着呢。虽然C语言也能做到,但是总感觉数据和代码的打包性能不如C++的好。所以你看现在很多程序员用到的基本数据类型(如队列、栈、链表、树等),极少用C来写,都用C++了。
还有C语言里面的string操作,要用到strcpy,strcat,strcmp,memcpy等叽叽歪歪的函数,而c++只要用=来赋值,用<,>,来判断哪个字符串大哪个字符串小。用==来判断字符串是否相等。用专门的字符串类也懒得管理字符串占用的内存。总之2个字,方便。。。而C语言,在这方面做得很烂。一不留神就出个内存问题。
所以只要CPU允许,我都尽量用C++的。C语言是倾城,但是C++倾国。。。。
-
我是来带lz回家的
你这破孩子,我说怎么群里老不见人呢,原来跑着玩儿来了!
-
怎么没人回答?我发的位置不对吗?
-
稍微梳理一下:
1、 Spare area的格式是开发人员自己规定的,可以从代码里面对Sprae area的读写看出
2、
typedef struct _SectorInfo
{
DWORD dwReserved1; // Reserved - used by FAL
BYTE bOEMReserved; // For use by OEM
BYTE bBadBlock; // Indicates if block is BAD
WORD wReserved2; // Reserved - used by FAL
}SectorInfo, *PSectorInfo;
这个事FMD.h定义的结构,那么是不是dwReserved1 、bOEMReserved 、wReserved2的顺序是不变的,
如果FAL得代码不变的话,只是bBadBlock在变位置,因为flash厂商定义的标记位有所不同
3、
CPU实现自动检验,并得到校验结果放入rNFESTAT0等寄存器,然后我们可以进行bit校正。
-----------------
有一点还是不明白:在读的时候,CPU的ECC检验过程是不是:rNFMECC0的值和Spare area 中在写操作中所写的ECC值进行校验
?,如果是.那么CPU怎么自动知道ECC的值是放在spare area 的第9个bytes的?