心若在梦就在

心若在梦就在

4个粉丝

10

问答

0

专栏

0

资料

心若在梦就在  发布于  2023-08-17 15:36:30
采纳率 50%
10个问答
897

ss928开发板中的ko是怎样操作来的?

 

ss928开发板中的ko库是怎样操作来的?通过什么编译命令在哪个目录下编译来的吗?又会生成在哪个目录呢?是否可以将ko文件夹拷贝到板端进行修改验证还是说要编译kernel并且烧入kernel?ko和kernel是什么关系?

我来回答
回答9个
时间排序
认可量排序

UncleRoderick

32个粉丝

14

问答

1

专栏

14

资料

UncleRoderick 2023-08-17 15:53:39
认可0
易百纳技术社区该回答已被题主采纳为最佳答案

1.KO是驱动文件,根据驱动代码生成的
2.SS928没有提供驱动源码,只提供了中间.o文件,可在SS928V100_SDK_V2.0.2.1/smp/a55_linux/mpp/out/obj目录编译
3.生成目录为SS928V100_SDK_V2.0.2.1/smp/a55_linux/mpp/out/ko
4.KO文件是生成的文件,不具备可修改下,编译的时候依赖内核源码,板端验证的时候需保证内核跟KO是同一份源码编译的,部分内核配置修改会导致KO加载不上,需要重新编译KO文件
5.简单的来说,加载KO文件到内核之后,内核就具备了KO文件提供的功能,就像电脑插上一个外设需要有对应的驱动才能用这个外设。SS928的KO加载之后才可以调用MPP库的各种API的功能。

心若在梦就在

4个粉丝

10

问答

0

专栏

0

资料

心若在梦就在 2023-08-17 17:55:18
认可0

引用 @UncleRoderick “1.KO是驱动文件,根据驱动代码生成的2”

嗯,非常感谢。/smp/a55_linux/mpp/out/obj在这直接make吗?我make报错了:

UncleRoderick
UncleRoderick   回复   心若在梦就在  2023-08-17 18:14:35
0

首先你需要把osdrv目录编译一遍make all,这个过程会去编译内核,需要编译过内核才能编译ko

心若在梦就在
心若在梦就在   回复   UncleRoderick  2023-08-18 10:29:28
0

osdrv是编译通过了,pub下也生成了相应的rootfs_glibc_arm64、ss928v100_image_glibc文件夹。就是编译ko报错
是不是要单独编译kernel,用什么命令编译kernel

UncleRoderick
UncleRoderick   回复   心若在梦就在  2023-08-18 10:41:42
0

make all的时候是会自动编译内核的,不需要手动编译,除非改了内核配置,编译过内核之后直接在out目录就可以编译驱动了。还有就是如果你没有改动内核配置的话,驱动直接用mpp目录的ko就可以了啊

心若在梦就在
心若在梦就在   回复   UncleRoderick  2023-08-18 14:17:24
0

嗯,没有修改过内核,make all编译也没有问题。给的SDK压缩包只有在mpp的out目录下有ko文件夹,我是把ko文件夹给删除了。现在是想把ko给编译出来,在/smp/a55_linux/mpp/out/obj下make编译报错了,不知道啥原因

UncleRoderick
UncleRoderick   回复   心若在梦就在  2023-08-18 15:26:21
0

看了下,你这个报错是另一个原因导致的,make的时候有条指令去修改load脚本的权限,但是你的load脚本删掉了,导致指令执行失败,从压缩包里面单独解压一份ko文件夹到原来的目录就行了

心若在梦就在
心若在梦就在   回复   UncleRoderick  2023-08-18 16:49:35
0

嗯,是可以单独解压一份的。单从解决这个问题,有什么办法吗?感觉这文件逻辑怪怪的,既然是out下的就应该可以删掉,然后编译就会重新生成的。
另外就是这个ko文件的内容是要单独拷贝到开发板吗?还是它会随着烧入镜像一起到开发板?是随着哪个镜像呢?

UncleRoderick
UncleRoderick   回复   心若在梦就在  2023-08-18 17:18:02
0

1.删除的时候不要整个ko文件夹删掉,rm *.ko这样单独删掉ko文件
2.ko文件是要放到板子上的,默认是没有放到镜像里面,要么放到文件系统里面打包成镜像,要么网络方式传过去NFS/TFTP

或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
+ 添加网盘链接/附件

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
举报反馈

举报类型

  • 内容涉黄/赌/毒
  • 内容侵权/抄袭
  • 政治相关
  • 涉嫌广告
  • 侮辱谩骂
  • 其他

详细说明

易百纳技术社区