• Lv0
    粉丝0

积分0 / 贡献0

提问1答案被采纳0文章0

作者动态

    基于cortex-m4移植OpenHarmony4.0(liteos-m)编译运行异常

    Pony077 显示全部楼层 发表于 2024-8-27 10:21:35
    【问题描述】
    1、编译问题

    我们在ARMCC上编译该芯片时,会在0x00800000地址上直接存放这样一个数组,目的是进行一些芯片的引导工作
    fakename.png

    而在Openharmony的编译里,我们将这个数组专门制作了一个__info_array.c,并在link_script里将其放到了FLASH地址的开头上

    fakename.png

    fakename.png

    但是在编译后的文件里,我们可以看到out/device/board目录下的对应位置有生成__info_array.o,但是从OHOS_Image.map里的__info_array大小为0,OHOS_Image.bin的开头也确实不是这个数组
    所以请问一下为什么ninja编译的时候会找不到这个数组,以及如果想在OHOS_Image.bin为这个数组的话,应该如何来进行。

    2、内核问题
    我们在J-Flash烧录的过程中,若将这个数组直接做成bin文件merge到J-Flash里烧录到芯片中是可以直接运行的,也确认了之前的ARMCC的例程工作没有问题
    但是通过加打印的方式可以确定MCU执行到LOS_KernelInit()这一步的时候会直接跳转到SYS_FAULT崩溃上
    目前可以确定target_config.h里的参数配置是没有问题的,从官网的适配指导和各论坛的上的教程中没有找到原因
    想请问一下是否这一步还有其他需要进行移植配置的config,以及如何来进一步排查这个初始化可能的问题


    【运行环境】
    硬件:cortex-m4(128m sram,512m flash)
    ROM版本:4.0
    DevEvoStudio版本:
    SDK版本:

    __info_array.zip

    52.63 KB, 下载次数: 5

    相关代码

    您尚未登录,无法参与评论,登录后可以:
    参与开源共建问题交流
    认同或收藏高质量问答
    获取积分成为开源共建先驱

    Copyright   ©2023  OpenHarmony开发者论坛  京ICP备2020036654号-3 |技术支持 Discuz!

    返回顶部