
Cell BE
文章平均质量分 69
ZHANGJIETING
这个作者很懒,什么都没留下…
展开
-
利用Cell BE的SDK写小程序
1、在任意目录下新建文件夹hello,在此文件夹下建立ppu.c、Makefile文件和文件夹spu。此文件夹下的Makefile: DIR := spu PROGRAM_ppu := ppu IMPORTS = spu/lib_hello.a -lspe2 -lpthread INSTALL_DIR = $(SDKBIN)/hellos INST原创 2009-09-18 22:45:00 · 855 阅读 · 0 评论 -
DMA传输小程序,解决“总线错误”
这个程序实现的是:共享内存中的一组数据,部分被用DMA传输到LS中进行加1操作,最后再将结果用DMA传到共享内存。 spu端程序single_buffer.c: #include #include unsigned int spe_src_buf[10] __attribute__ ((aligned(128))); unsigned i原创 2009-09-19 22:49:00 · 1248 阅读 · 0 评论 -
在多个spu上运行hello成功了,段错误问题顺利解决
昨天利用Cell的SDK写的一个小的多线程程序在编译时成功了,但运行时却出现了“段错误”。段错误就是出现在运行时的,看不出来错误原因,所以只能在程序中加调试语句一点一点调,如果gdb用得好的话,可能更方便。 下面是我的调试代码: #include #include #include #define N 4 extern原创 2009-09-19 12:49:00 · 951 阅读 · 0 评论 -
从ppu端向spu端发送信号的小程序
ppu端代码ppu.c: #include #include #include #define N 1 extern spe_program_handle_t signal; void *my_spe_thread(void *arg) { unsigned int entry = SPE原创 2009-09-20 15:58:00 · 1128 阅读 · 0 评论 -
多个spu文件写法
ppu端程序ppu.c: #include #include #include #define N 2 extern spe_program_handle_t hello1, hello2; void *my_spe_thread(void *arg) { unsigned int ent原创 2009-09-19 23:13:00 · 948 阅读 · 0 评论 -
ppu与spu之间的邮箱通信
ppu端程序: #include #include #include #define N 1 extern spe_program_handle_t signal; void *my_spe_thread(void *arg) { unsigned int entry = SPE_DEFA原创 2009-09-21 17:02:00 · 1546 阅读 · 0 评论 -
总线错误和段错误原因
总线错误引起原因: 几乎总是由于对未对齐的读或写引起的。它之所以称为总线错误是因为对未对齐的内存访问时,被阻塞的组件就是地址总线。 段错误引起原因:引起直接原因:(1)解除引用一个包含非法值的指针。(2)解除引用一个空指针(常常是从系统返回,却未经过检查)。(3)未得到正确权限进行访问。如:向只读文本段存储值就回引起段错误。(4)用完了堆栈或堆空间。 出现频率原创 2009-09-23 22:27:00 · 2716 阅读 · 0 评论 -
内存对齐问题
详细描述:http://www.yuanma.org/data/2006/0723/article_1213.htm Cell BE架构下在DMA传输时必须手动内存对齐,否则会出现“总线错误”,但其他时候一般不需要。为什么呢?是编译器给对齐了么?那DMA传输时编译器为什么不给对齐了呢?原创 2009-09-23 23:02:00 · 645 阅读 · 0 评论 -
段错误的第三种情况
<br />如果PPE生命了几个SPE,但是这几个SPU并没有全用,就会出现段错误。原创 2010-09-08 22:32:00 · 913 阅读 · 0 评论