编译内核为s32v234-evb板子

赵文彬龙 2016-11-15 11:23:58
你好:
请教大家一个问题,我现在在编译s32v234-evb板子的内核,在make执行之后生成的是Image文件,现在用mkimage工具生成uImage文件,mkimage -A arm64 -O linux -T kernel -C none -a 0xC80080000 -e 0xC80080000 -n "Linux test s32v234-evb" -d arch/arm64/boot/Image uImage
但是总是报错:
Invalid CPU Type - valid names are: alpha, arm, x86, ia64, m68k, microblaze, mips, mips64, nios2, powerpc, ppc, s390, sh, sparc, sparc64, blackfin, avr32, nds32, or1k, sandbox
Usage: mkimage -l image
-l ==> list image header information
mkimage [-x] -A arch -O os -T type -C comp -a addr -e ep -n name -d data_file[:data_file...] image
-A ==> set architecture to 'arch'
-O ==> set operating system to 'os'
-T ==> set image type to 'type'
-C ==> set compression type 'comp'
-a ==> set load address to 'addr' (hex)
-e ==> set entry point to 'ep' (hex)
-n ==> set image name to 'name'
-d ==> use image data from 'datafile'
-x ==> set XIP (execute in place)
mkimage [-D dtc_options] [-f fit-image.its|-F] fit-image
-D => set options for device tree compiler
-f => input filename for FIT source
Signing / verified boot not supported (CONFIG_FIT_SIGNATURE undefined)
mkimage -V ==> print version information and exit
但是在image.c文件中的框架结构体是支持arm64啊,不为什么?还是mkimage的问题?需要修改什么呢?感谢回复。
...全文
1753 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_37978484 2017-12-02
  • 打赏
  • 举报
回复
在不,我最近也在做s32v234的项目,可以交流一下吗?我的qq1182807153
飞舞少年 2017-11-01
  • 打赏
  • 举报
回复
你好,我最近也在调s32v,有时间可以交流一下
赵文彬龙 2016-11-17
  • 打赏
  • 举报
回复
。。。。。。赵文彬。
赵文彬龙 2016-11-16
  • 打赏
  • 举报
回复
问题我解决了,我生成uImage的时候他总是说框架不支持ARM64但是代码中的框架结构体数组是支持的,我就追踪到报错的位置,然后将powerpc的位置和arm64调换下就好了,但是问题还是没有完全解决,现在的mkimage可以编译uImage了,而且能够运行。
猫热 2016-11-16
  • 打赏
  • 举报
回复
你好,我是做S32V234的kernel算法开发的,可以相互合作和探讨
赵文彬龙 2016-11-15
  • 打赏
  • 举报
回复
@wenxy1 好的,我在研究研究。
Wenxy1 2016-11-15
  • 打赏
  • 举报
回复
生成uImage的参数不对呀,找这个板子的FAE,寻求技术支持,或者自己静下心来研究开发板手册怎么生成uImage.
赵文彬龙 2016-11-15
  • 打赏
  • 举报
回复
这个是iamge.c文件对于框架支持的数据结构: static const table_entry_t uimage_arch[] = { { IH_ARCH_INVALID, NULL, "Invalid ARCH", }, { IH_ARCH_ALPHA, "alpha", "Alpha", }, { IH_ARCH_ARM, "arm", "ARM", }, { IH_ARCH_I386, "x86", "Intel x86", }, { IH_ARCH_IA64, "ia64", "IA64", }, { IH_ARCH_M68K, "m68k", "M68K", }, { IH_ARCH_MICROBLAZE, "microblaze", "MicroBlaze",}, { IH_ARCH_MIPS, "mips", "MIPS", }, { IH_ARCH_MIPS64, "mips64", "MIPS 64 Bit", }, { IH_ARCH_NIOS2, "nios2", "NIOS II", }, { IH_ARCH_PPC, "powerpc", "PowerPC", }, { IH_ARCH_PPC, "ppc", "PowerPC", }, { IH_ARCH_S390, "s390", "IBM S390", }, { IH_ARCH_SH, "sh", "SuperH", }, { IH_ARCH_SPARC, "sparc", "SPARC", }, { IH_ARCH_SPARC64, "sparc64", "SPARC 64 Bit", }, { IH_ARCH_BLACKFIN, "blackfin", "Blackfin", }, { IH_ARCH_AVR32, "avr32", "AVR32", }, { IH_ARCH_NDS32, "nds32", "NDS32", }, { IH_ARCH_OPENRISC, "or1k", "OpenRISC 1000",}, { IH_ARCH_SANDBOX, "sandbox", "Sandbox", }, { IH_ARCH_ARM64, "arm64", "AArch64", }, { IH_ARCH_ARC, "arc", "ARC", }, { IH_ARCH_X86_64, "x86_64", "AMD x86_64", }, { -1, "", "", }, }; 这个是支持arm64呢,但是在uboot没有像kernel代码那样arm和arm64分开,是不是那个mkimage这个有点问题呢?
赵文彬龙 2016-11-15
  • 打赏
  • 举报
回复
我直接运行mkimage -A arm -O linux -T kernel -C none -a 0xC80080000 -e 0xC80080000 -n "Linux test s32v234-evb" -d arch/arm64/boot/Image uImage 就OK。但是这个是跑不起来的,板子是64位的,在uboot检查头部64K的时候就会报错退出来。
赵文彬龙 2016-11-15
  • 打赏
  • 举报
回复
@wenxy1,你好呢,但是这个没有make uImage 这个编译项,这个是他的部分的make help Architecture specific targets (arm64): * Image.gz - Compressed kernel image (arch/arm64/boot/Image.gz) Image - Uncompressed kernel image (arch/arm64/boot/Image) * dtbs - Build device tree blobs for enabled boards dtbs_install - Install dtbs to /boot/dtbs/4.1.26-rt29 install - Install uncompressed kernel zinstall - Install compressed kernel Install using (your) ~/bin/installkernel or (distribution) /sbin/installkernel or install to $(INSTALL_PATH) and run lilo s32v234_defconfig - Build for s32v234 不可以make uImage呢。这个板子是4.1.26的bsp9版本,我就奇怪了,s32v234的用户手册就是用mkimage将Image加工成uImage,但是就报错呢。
Wenxy1 2016-11-15
  • 打赏
  • 举报
回复
直接运行生成uImage的命令: make uImage 试试吧。 mkimage 的参数对了么?

1,318

社区成员

发帖
与我相关
我的任务
社区描述
主要是开发驱动技术
社区管理员
  • 驱动程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧