所以我在GitHub上浏览OpenTX代码并遇到了新的Taranis x9e的stm32f4xx标准外设驱动程序。我知道Taranis xd9 plus使用的是stm32f205 mcu,但这些驱动程序是否与任何Stm32f4xx mcu兼容?在我们可以找到gpio头文件的文件中。那样,我们可以对模拟引脚,开关,电位器和平衡环等的引脚映射进行反向工程设计吗?如果是这样,怎么样?是否有提取这些数据的技术?
答案 0 :(得分:0)
STM32F4xx和STM32f2xx有separate libraries,虽然外围设备在各设备之间是通用的,但我相信它们是兼容的(与STM32F1大不相同)。
那说;您无法从标准外设库确定特定应用程序的I / O映射; STM32上的大多数引脚在多个功能之间复用,每个外设可以在多个引脚之间复用。此外,器件和器件封装之间的引脚功能在任何情况下都有很大差异。
确定I / O分配的最简单方法是通过源代码;没有它,可以连接JTAG或SWI调试器并直接读取I / O寄存器和编译的代码,但很可能调试端口在生产中被锁定以防止逆向工程或IP被盗。
如果产品是开源的,那么您只需向制造商询问代码即可。如果产品使用开源库,其许可证要求所有链接代码也是开源的(例如GPL),那么严格来说您也有权使用源代码,但当然除非您看到源代码,否则您不能很容易确定这些代码已被合并。
除此之外,可以通过示波器和万用表以及一些电子知识确定哪些设备连接到哪些引脚。然而,使用多层板和BGA芯片封装可以使这种尝试变得困难,而不是X射线板。
如果产品不是开源或开放式硬件,那么任何对其进行逆向工程的尝试都可能是非法的,尽管这对开发人员来说是不公平的,他们的生计可能取决于其知识产权的保护。