#include // macro pentru rotunjirea superioara a valorii la multiplu de 16 (pentru conditiile DMA) #define spu_mfc_ceil16(value) ((value + 15) & ~15) volatile char str[256] __attribute__ ((aligned(16))); extern spe_program_handle_t spu; int main(int argc, char *argv[]) { void *spe_argp, *spe_envp; spe_context_ptr_t spe_ctx; spe_program_handle_t *program; unsigned int entry = SPE_DEFAULT_ENTRY; // trimiterea de parametrii catre SPE strcpy( str, "Completeaza formularul: Nume: .............................."); printf("PPU: %s\n", str); spe_argp=(void*)str; // adresa spe_envp=(void*)strlen(str); spe_envp=(void*)spu_mfc_ceil16((unsigned int)spe_envp); //rotunjeste dimensiunea bufferului la 16B // rularea programului SPU: // - creare de context // - incarcarea programului SPU // - rulare // asteptam ca SPU sa termine de procesat printf("PPU: %s\n", str); return (0); }