Blackfin嵌入式开发
专注于Blackfin处理器的嵌入式开发,研究学习其在多媒体处理领域的应用。
嵌云阁主
参与从系统设计到硬件调试和软件编码每一过程的工作
展开
-
在u-boot for bf561中使用nand flash
在u-boot_1.1.6中支持大量的NandFlash芯片,但是由于各种NandFlash在各个不同系统中可以有不同的实现方式,因此在u-boot_1.1.6中必须自已实现对NandFlash的一些低级操作,需要修改的代码较多。下面以目标板上使用的Samsung K9WAG08U1A为例进行移植说明。K9WAG08U1A是一片2G的Nand Flash,其内部由2片1G的nand ch原创 2007-11-15 21:36:00 · 2139 阅读 · 0 评论 -
u-boot在vdsp 4.5下的移植
1 基本思想1、 软件版本为u-boot 1.1.6。2、 尽可能使用VDSP的库函数,而不使用u-boot中的实现,如malloc,memcpy等。3、 仍然使用A核运行u-boot,B核空闲,但可方便加入代码。4、 使用vdsp进行存储管理,即用LDF文件和malloc等完成内存管理,将u-boot的代码放在SDRAM最高的1M,Stack与Heap默认使用L1 SRAM原创 2007-11-12 11:08:00 · 2485 阅读 · 2 评论 -
在vdsp(bf561)中自定义Stack和Heap
1 自定义StackAB两个核有不同的Stack,以下定义仅针对A核。1、 在ldf中定义要使用的内存块 MEM_L2_STACK { TYPE(RAM) START(0xFEB10000) END(0xFEB17FFF) WIDTH(8) }2、 删除原有关于ldf_stack_start和ldf_stack_end的定义。3、 添加关于ldf_stack_star原创 2007-11-09 13:23:00 · 2133 阅读 · 1 评论 -
u-boot for bf561中的命令实现
硬件平台:bf561软件平台:u-boot-1.1.6,gcc for blackfin,visual dsp 5.0我们知道,u-boot的运行过程是首先进行一些初始化化工作,然后在一个死循环中不断接收串口的命令并进行解释执行,下面我们就看看执行部分代码的实现,见common/main.c中的run_command:int run_command (const char *cm原创 2007-11-03 23:15:00 · 2460 阅读 · 0 评论 -
在uclinux for bf561中使用B核(4):B核代码的编写
从corebld的实现可以看出,corebld本身是不会对ELF文件中的代码进行重新定位的,这点与在A核中运行的程序不同。这就要求在编译生成要在B核中运行的程序的时候,链接器就必须设置好每个Section的代码在绝对地址空间中的位置。要达到这个目的,要求在编写B核程序的时候要同时通过lds文件指定目标代码的位置。以下代码就是user/blkfin-apps/corebld/coreb.l原创 2007-09-29 06:56:00 · 1555 阅读 · 0 评论 -
在uclinux for bf561中使用B核(3):corebld的实现
在有了/dev/coreb之后,uclinux还提供了一个工具corebld。它用于将elf格式的文件作为一个普通文件读出来,提取出相应的可执行代码,再调用/dev/coreb提供的功能将这些可执行代码写入到B核的L1 Instruction Memory或者SDRAM中,最后再调用驱动程序的功能开始执行这些代码。它的实现在user/blkfin-apps/corebld/corebld.c原创 2007-09-29 06:54:00 · 1604 阅读 · 0 评论 -
在uclinux for bf561中使用B核(2): /dev/coreb提供的功能
由于uClinux只能在A核运行,因此它以驱动的形式提供了对B核的支持。默认配置下此支持是打开的,可以通过Kernel Settings -> Blackfin Processor Options -> BF561 Specific Configurations -> Core B support进行关闭。估计没人会做这种事吧?呵呵!。以下的所有代码来自于:linux-2.6.x/a原创 2007-09-29 06:48:00 · 1760 阅读 · 0 评论 -
在uclinux for bf561中使用B核(1):示例实践
我们知道,BF561是由两个相同的内核组成的,而ucLinux只使用了其中的A核,在正常情况下B核是不工作的。但是在uclinux for bf561以驱动的方式提供了对B核操作的可能,而且还提供了一个corebld的应用程序,它可以将指定的程序加载到B核中运行。下面我们就按照user/blkfin_apps/corebld/README中所说的步骤尝试一下吧:1、在User S原创 2007-09-27 17:53:00 · 1820 阅读 · 1 评论