在uclinux for bf561中使用B核(1):示例实践

原创 2007年09月27日 17:53:00
 
我们知道,BF561是由两个相同的内核组成的,而ucLinux只使用了其中的A核,在正常情况下B核是不工作的。但是在uclinux for bf561以驱动的方式提供了对B核操作的可能,而且还提供了一个corebld的应用程序,它可以将指定的程序加载到B核中运行。
下面我们就按照user/blkfin_apps/corebld/README中所说的步骤尝试一下吧:
1、在User Settings -> Blackfin app programs中选上BF561 Core B support tools,这样uclinux就会在bin下编译生成corebld这个应用程序和coreb_get_testarg这个程序。此外在test_module目录下还后生成一个dualcore_test.ko的模块,但是在默认情况下这个模块是不会复制到romfs中去的,因此我们需要手工将它复制到romfs目录中去,这样下次make的时候就能打包到uImage中去了。
2、下载uclinux,运行
root:/bin> insmod ./dualcore_test.ko
dualcore_test: module license 'unspecified' taints kernel.
Dual core test module inserted: set testarg = [1]
 @ [feb00000]
这个模块是在A核中运行的,在初始化的时候,它在0xfeb0 0000这个地址写入一个整数1,然后等待B核中运行的程序修改此位置的值,在卸载此模块的时候它将再一次输出0xfeb0 0000这个地址处的值,以此证明B核中的程序修改了这个值。
3、运行
root:/bin> corebld coreb_get_testarg
ffite 2Starting Core B
 00000
wrote 208 bytes to 0x0xff600000
Write 4096 bytes to 0x0xff500000
wrote 4096 bytes to 0x0xff500000
此时B核中的程序coreb_get_test_arg应该修改了0xfeb0 0000的值。
从corebld.c中的代码可知,它其实是将coreb_get_test_arg作为一个普通文件读出来,再提取出相应的可执行代码,调用/dev/coreb提供的功能将这些可执行代码写入到B核的L1 Instruction Memory中,再调用驱动程序的功能开始执行这些代码。从这个过程可以看出,corebld能调用的可执行文件格式是有限的,目前corebld只能分析elf格式的文件。
4、运行
root:/bin> rmmod dualcore_test.ko
Dual core test module removed: testarg = [2]
由此可见,coreb_get_testarg已经将值修改为2了。
 
版权声明:本文为博主原创文章,未经博主允许不得转载。

u-boot-1.1.6 for vdsp(bf561)

  • 2007年11月03日 21:54
  • 168KB
  • 下载

基于ADSP-BF561的H.264视频编码器的实现

转一篇崔海燕,王卿写的论文 文章是把JM8.5移植到BF561上,使用VDSP++来实现的。 文章从总体上来看,是很不错的,也看得出来,进行了相应的工作。 不过不足之处是,JM本身不适于进行实现...

uClinux on Blackfin BF533 STAMP - A DSP Linux Port

原文地址::http://linuxgazette.net/123/jesslyn.html   Intel and Analog Devices Inc. (ADI) jointly devel...
  • jinn3
  • jinn3
  • 2012年04月01日 12:03
  • 503

基于bf561 的视频信息处理模块

  • 2012年05月18日 19:45
  • 282KB
  • 下载

ADI BF561 HARDWARE

  • 2009年04月06日 21:57
  • 4.04MB
  • 下载

实现1+2+3...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字以及条件判断语句(A?B:C)

通常求1+2+…+n除了用公式n(n+1)/2之外,无外乎循环和递归两种思路。由于已经明确限制for和while的使用,循环已经不能再用了。同样,递归函数也需要用if语句或者条件判断语句来判断是继续递...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:在uclinux for bf561中使用B核(1):示例实践
举报原因:
原因补充:

(最多只允许输入30个字)