John,
I see how that would work. Not very practical though.
I think I must be doing something very wrong here. I have been following tutorials of all sort but I ended up nowhere.
The original problem is the following:
The idea is that I can capture video and pass it over to a processing thread. When the processing is finished the output data (characters recognised from the image) is put in an output buffer which can be read out via Ethernet. I work on a DM648 EVM.
1) I made a simple c++ code using threads (BIOS tasks). I did it by creating a BIOS project in CCS4 following the BIOS hello world example. Then I added my own code.So far it all works as expected.
2) I wanted to add a vide capture module. This is when I got stuck. As far us I can understand I have to use the PSP from DVSDK which is configured for CCS3 and I have CCS4.
3) All the examples are for CCS3 and hence I do not know how to get them working. The only document i could found is the "Porting DM648 DVSDK demo app from CCSv3.3 to CCSv4" at http://processors.wiki.ti.com/index.php/Porting_DM648_DVSDK_demo_app_from_CCSv3.3_to_CCSv4
This tells me to put the .cfg and the .tcf files in the RTSC project and the main code into a C project.
This is where I am for a week now. If I could only figure out how to add the PSP driver to my BIOS project!
I pretty much tried everything I could think of. The latest attempt seemed close but did not work at the end. I created a RTSC project (RTSC_Video) and put the PSP and EDMA3 packages in it together with this .cfg file:
* USE PAL_SYS */
var pal_sys = xdc.loadPackage('ti.sdo.pspdrivers.pal_sys.dm648');
/* USE VportEdc Driver */
var vportedc = xdc.loadPackage('ti.sdo.pspdrivers.system.dm648.bios.evmDM648.video');
/* USE EDMA3 Sample App */
var edma3_drv_sample = xdc.loadPackage('ti.sdo.edma3.drv.sample');
Then I referenced the RTSC_Video project in my main BIOS project using Properties->Project Referenced and Properties->CCD Build->Dependencies
I compiled and linked but the RTSC_VIDEO project is not linked in:
'Invoking: Linker'
"C:/Program Files/Texas Instruments/ccsv4/tools/compiler/c6000/bin/cl6x" -mv64+ -g --diag_warning=225 -z -m"BIOS5helloworld.map" --stack_size=800 --heap_size=800 --warn_sections -i"C:/Program Files/Texas Instruments/ccsv4/tools/compiler/c6000/lib" -i"C:/Program Files/Texas Instruments/ccsv4/tools/compiler/c6000/include" -i"C:/Program Files/Texas Instruments/bios_5_40_02_22/packages/ti/rtdx/lib/c6000" -i"C:/Program Files/Texas Instruments/bios_5_40_02_22/packages/ti/bios/lib" --reread_libs --rom_model -o "BIOS5helloworld.out" -l"./BIOS5helloworldcfg.cmd" "./base_lib/Thread.obj" "./base_lib/MyThread.obj" "./base_lib/AtomicInt.obj" "./engine/interface/metadata.obj" "./engine/interface/dummy.obj" "./engine/interface/basicimage.obj" "./main.obj" "./BIOS5helloworldcfg_c.obj" "./BIOS5helloworldcfg.obj" "./numberworks/systemcontrollerwrapper.obj" "./numberworks/recognitiondriver.obj" "./numberworks/overviewdriver.obj" "./numberworks/outdriver.obj" "./numberworks/numberworks.obj" -l"libc.a"
<Linking>
The .obj files are all mine. Therefore i get a bunch of undefined symbols.
What is the way to do it properly. There must be a simple way of doing what I want. getting the BIOS working was easy but adding the video driver is just ...hmmm... well makes me crazy. Any advise would be greatly appreciated.
Regards,
Peter