Hi all,
I know the TI SDK documentation is being updated, it refers to the "PRU Hands on Labs" and I assume will later be integrated with this properly later on, but I'm mentioning a few issues here to help the process.
I've been attempting lab 5 of the "PRU Hands on Labs" and am having issues loading the kernel module. It complains about missing symbol _dev_err, looking over the source, it uses /includ/linux/device.h which has the _dev_err function, and is a very normal, fundamental kernel function. So, this not being an exported symbol from another module leads me to believe that its a more simple issue, likely due to kernel version issues.
I've never built kernel modules before, so its likely a simple issue.
The SDK has kernel version linux-4.19.94 (from looking at the top level Makefile) and the BeagleBone AI has version "Linux beaglebone 4.14.108-ti-r131 #1buster SMP PREEMPT Tue Mar 24 19:18:36 UTC 2020 armv7l GNU/Linux" from the running system.
https://processors.wiki.ti.com/index.php/PRU_Training:_Hands-on_Labs
The instructions were made for the BeagleBone Black (am335x) and things such as the target config file had to be changed to the one for the AI (am572x). From tisdk_am335x-evm_defconfig to
tisdk_am57xx-evm_defconfig which I happened to find in a separate folder after a lot of looking around. It would have been a lot better for the instructions to tell one where the file was located so they may search for the version for their architecture.
How can I troubleshoot these issues of building kernel modules? How can i confirm if its only the kernel version miss-match, or if I have to do other steps for symbol, or memory address mapping etc.
I think the "depmod" command has something to do with that.
Thanks,
Fisher