I would like to know if the McFW is available as a separate package independent of any RDK.
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
Hello,
MCFW is available in IPNC as separate folder, application is built (ipnc_app) on top of it using MCFW API (ipnc_mcfw)
Regards,
Raghu
From what I can tell wis-streamer will not work for us. So I would like to replace all of the stock apps with my own. In particular I want to replace ipnc_rdk_mcfw.out with my own audio/video daemon.
Secondly I would like to see a layout that looks like this:
my_repo
├── other_repo_entries
├── my_mcfw_app
│ ├── my_main
│ └── my_usecase
├── ipnc_rdk
└── ti_tools
In this way, I hope to simply unpack the rdk on the build machine inside my repository and build against it not within it.
The stock rdk looks like this:
ipnc_rdk
├── ipnc_app
├── ipnc_mcfw
│ ├── bin
│ ├── build
│ ├── component.mk
│ ├── demos
│ │ ├── audio_sample
│ │ ├── MAKEFILE.MK
│ │ └── mcfw_api_demos
│ │ ├── itt
│ │ ├── MAKEFILE.MK
│ │ ├── multich_usecase
│ │ └── stream
│ ├── makerules
│ └── mcfw
│ ├── interfaces
│ ├── src_bios6
│ └── src_linux
│ ├── devices
│ ├── kernel_modules
│ ├── links
│ ├── MAKEFILE.MK
│ ├── mcfw_api
│ │ └── usecases
│ ├── osa
│ ├── osa_kermod
│ └── utils
├── Makefile
├── Rules.make
├── target
├── tftp
└── ubinize.cfg
I don't want to build any of the binaries under ipnc_app. I don't need most of the scripts and such under ipnc_mcfw/bin. I do need the firmwares and any link/mcfw api libraries that are created. It's just tough isolating this from the RDK. Especially problematic are the makerules and usecases directories.
It looks like the mcfw framework was intended to be modular. So I guess I'm looking for more of an SDK with examples, rather than an RDK.
Ideally this SDK with examples would be able to compile something that can run on the IPNC. If no such SDK exists, then I would appreciate any recommendations on how to proceed.
For the requirement you have, please use the links/chains present in the codebase and create you own usecase file, you can look at full_feature or low_power usecase files as a n example on how to create it
IPNC_APP folder is an usage on how to build the IPNC system using MCFW, you can remove this if you have different usage requirements
Please refer to usecase file as an example and build your own usecase file, once you get the streams to A8 from the capture+encode engines, then you can build your won app on top it
Please review this and let us know if any specific questions you have
Regards,
Raghu
Maybe a fictional Makefile will help illustrate what I want to do:
MCFW_API_LIB:=ipnc_rdk/path/to/mcfw/lib.a
MCFW_BIOS_STUFF:= ipnc_rdk/path/to/mcfw/bios_stuff
LDFLAGS+=$(MCFW_API)
CFLAGS+=ipnc_rdk/path/to/mcfw/includes
$(MCFW_API_LIB):
make -C ipnc_rdk mcfw_api
$(TARGET): $(MCFW_API)
gcc -o $(TARGET) $(MY_OBJS) ...
install: $(TARGET)
cp $(TARGET) /some/place
cp $(MCFW_BIOS_STUFF) /some/place
How do I accomplish that without including any IPNC specific dependencies (ie. pure mcfw)? I'll reiterate that I want to replace the ipnc_rdk_mcfw.out binary with my own daemon. Also, I consider the usecases to be IPNC specific. I would, of course, base my daemon on one of the usecases.
Hello,
In this Code, ipnc_mcfw folder has stream folder located will have demos/mcfw_api_demos/stream located which will have reference to header files to interface folder from ipnc_app folder
This is needed for streaming and inter process comunincation between mcfw and other process
PLease try to remove stream and other dependencies to interface then you should be able to make it independent.
Regards,
Raghu