Linux - 如何将代码上传到我主板上的专用freescale芯片网卡?

时间:2014-06-07 16:07:08

标签: c linux driver linux-device-driver device-driver

我买了一台Gigabyte g1.guerilla主板,而NIC则是主板上的专用freescale芯片。它连接到PCI总线。

我正在运行Linux,不幸的是没有驱动程序。我正在写一个,但是我遇到了一个基本问题:如何通信并将代码上传到专用的CPU-RAM?

非常感谢。

我在ubuntu上运行,芯片是mpc8308vmagd PowerQuicc II pro

1 个答案:

答案 0 :(得分:-1)

我对您的特定主板或处理器一无所知,但您完全确定需要将任何代码上传到处理器吗?

通常,如果外围设备需要任何代码(固件),它已经存在于ROM或闪存芯片上,如果您特别想为自己编写固件,则只需触摸它即可。 AFAIK通常的工作方式是外设在PCI总线上暴露一组寄存器,然后通过戳寄存器(通常使用MMIO)与它进行交互。也就是说,你不是为外围设备编写代码,而是编写一个内核驱动程序,当它希望设备做某事时,它会戳寄存器(即外围设备的API)。

现在,通常情况下,寄存器描述通常不是免费提供的,这可能会使编写驱动程序变得非常困难。

如果您真的想要/需要为该事物编写自己的固件,则可能取决于代码的存储位置。如果它位于ROM或无法访问的闪存中,您可能需要进行一些焊接。如果固件是可更新的,我可能会尝试对他们提供的用于更新固件的软件进行逆向工程(如果有的话)。 (当然,除非它允许上传任意文件)