查看: 4699|回复: 8

[其他] MCU的汇编指令集去哪找

[复制链接]
  • TA的每日心情

    2019-3-8 17:08
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    9

    主题

    24

    帖子

    0

    注册会员

    Rank: 2

    积分
    104
    最后登录
    2019-9-24
    发表于 2018-8-14 13:30:02 | 显示全部楼层 |阅读模式
    最近在修改BOOTLOADER程序时发现,原来板子上用的#define ENABLE_INTERRUPTS()     {__asm CLI;}#define DISABLE_INTERRUPTS()    {__asm SEI;};
    来禁止中断的,换板子了单片机不一样了,这个嵌入的汇编怎么修改,去哪找新板子的汇编指令(KEAZ128的MCU)

    最佳答案

    你搞Bootloader吗?问APP怎么偏移吗? 把  FLASH_1          (RX)  : ORIGIN = 0x00000000, LENGTH = 0x00000400    FLASH_CONFIG     ...
    烦躁
    回复

    使用道具 举报

    该用户从未签到

    723

    主题

    6382

    帖子

    0

    超级版主

    Rank: 8Rank: 8

    积分
    25494
    最后登录
    2025-9-9
    发表于 2018-8-14 17:05:43 | 显示全部楼层
    汇编指令集需要到ARM 那么找,找ARM CortexM0+的。
    DDI0484C_cortex_m0p_r0p1_trm_查看指令执行时间.pdf (355.38 KB, 下载次数: 21)
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2019-3-8 17:08
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    9

    主题

    24

    帖子

    0

    注册会员

    Rank: 2

    积分
    104
    最后登录
    2019-9-24
     楼主| 发表于 2018-8-15 14:01:40 | 显示全部楼层
    小恩GG 发表于 2018-8-14 17:05
    汇编指令集需要到ARM 那么找,找ARM CortexM0+的。

    嗯嗯,了然,多谢!!!
    烦躁
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2019-3-8 17:08
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    9

    主题

    24

    帖子

    0

    注册会员

    Rank: 2

    积分
    104
    最后登录
    2019-9-24
     楼主| 发表于 2018-8-15 14:27:42 | 显示全部楼层
    小恩GG 发表于 2018-8-14 17:05
    汇编指令集需要到ARM 那么找,找ARM CortexM0+的。

    大哥,再请教一个问题啊,我如何修改我这个程序的载入芯片时的地址呢????
    烦躁
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    723

    主题

    6382

    帖子

    0

    超级版主

    Rank: 8Rank: 8

    积分
    25494
    最后登录
    2025-9-9
    发表于 2018-8-15 14:54:48 | 显示全部楼层
    zhz5211314 发表于 2018-8-15 14:27
    大哥,再请教一个问题啊,我如何修改我这个程序的载入芯片时的地址呢???? ...

    修改程序工程的link文件,那边有定义在flash中的地址。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2019-3-8 17:08
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    9

    主题

    24

    帖子

    0

    注册会员

    Rank: 2

    积分
    104
    最后登录
    2019-9-24
     楼主| 发表于 2018-8-15 17:04:14 | 显示全部楼层
    小恩GG 发表于 2018-8-15 14:54
    修改程序工程的link文件,那边有定义在flash中的地址。

    MEMORY
    {
      FLASH_1          (RX)  : ORIGIN = 0x00000000, LENGTH = 0x00000400
      FLASH_CONFIG     (RX)  : ORIGIN = 0x00000400, LENGTH = 0x00000010
      FLASH_2          (RX)  : ORIGIN = 0x00000410, LENGTH = 0x0001FBF0
      SRAM             (RW)  : ORIGIN = 0x1FFFF000, LENGTH = 0x00004000
    }

    /* Define output sections */
    SECTIONS
    {
      /* The startup code goes first into internal flash */
      .interrupts :
      {
        __VECTOR_TABLE = .;
        . = ALIGN(4);
        KEEP(*(.isr_vector))     /* Startup code */
        . = ALIGN(4);
      } > FLASH_1


      .flash_config :
      {
        . = ALIGN(4);
        KEEP(*(.FlashConfig))    /* Flash Configuration Field (FCF) */
        . = ALIGN(4);
      } > FLASH_CONFIG

      /* The program code and other data goes into internal flash */
      .text :
      {
        . = ALIGN(4);
        *(.text)                 /* .text sections (code) */
        *(.text*)                /* .text* sections (code) */
        *(.rodata)               /* .rodata sections (constants, strings, etc.) */
        *(.rodata*)              /* .rodata* sections (constants, strings, etc.) */
        *(.glue_7)               /* glue arm to thumb code */
        *(.glue_7t)              /* glue thumb to arm code */
        *(.eh_frame)
        KEEP (*(.init))
        KEEP (*(.fini))
        . = ALIGN(4);
      } > FLASH_2

      .ARM.extab :
      {
        *(.ARM.extab* .gnu.linkonce.armextab.*)
      } > FLASH_2

      .ARM :
      {
        __exidx_start = .;
        *(.ARM.exidx*)
        __exidx_end = .;
      } > FLASH_2

    .ctors :
      {
        __CTOR_LIST__ = .;
        /* gcc uses crtbegin.o to find the start of
           the constructors, so we make sure it is
           first.  Because this is a wildcard, it
           doesn't matter if the user does not
           actually link against crtbegin.o; the
           linker won't look for a file to match a
           wildcard.  The wildcard also means that it
           doesn't matter which directory crtbegin.o
           is in.  */
        KEEP (*crtbegin.o(.ctors))
        KEEP (*crtbegin?.o(.ctors))
        /* We don't want to include the .ctor section from
           from the crtend.o file until after the sorted ctors.
           The .ctor section from the crtend file contains the
           end of ctors marker and it must be last */
        KEEP (*(EXCLUDE_FILE(*crtend?.o *crtend.o) .ctors))
        KEEP (*(SORT(.ctors.*)))
        KEEP (*(.ctors))
        __CTOR_END__ = .;
      } > FLASH_2

      .dtors :
      {
        __DTOR_LIST__ = .;
        KEEP (*crtbegin.o(.dtors))
        KEEP (*crtbegin?.o(.dtors))
        KEEP (*(EXCLUDE_FILE(*crtend?.o *crtend.o) .dtors))
        KEEP (*(SORT(.dtors.*)))
        KEEP (*(.dtors))
        __DTOR_END__ = .;
      } > FLASH_2

      .preinit_array :
      {
        PROVIDE_HIDDEN (__preinit_array_start = .);
        KEEP (*(.preinit_array*))
        PROVIDE_HIDDEN (__preinit_array_end = .);
      } > FLASH_2

      .init_array :
      {
        PROVIDE_HIDDEN (__init_array_start = .);
        KEEP (*(SORT(.init_array.*)))
        KEEP (*(.init_array*))
        PROVIDE_HIDDEN (__init_array_end = .);
      } > FLASH_2

      .fini_array :
      {
        PROVIDE_HIDDEN (__fini_array_start = .);
        KEEP (*(SORT(.fini_array.*)))
        KEEP (*(.fini_array*))
        PROVIDE_HIDDEN (__fini_array_end = .);
      } > FLASH_2
    就是这里面的东西吧,有点看不懂,这个东西怎么操作去哪可以找个教程啥的啊???
    烦躁
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    723

    主题

    6382

    帖子

    0

    超级版主

    Rank: 8Rank: 8

    积分
    25494
    最后登录
    2025-9-9
    发表于 2018-8-16 10:02:48 | 显示全部楼层
    你搞Bootloader吗?问APP怎么偏移吗?
    把  FLASH_1          (RX)  : ORIGIN = 0x00000000, LENGTH = 0x00000400
       FLASH_CONFIG     (RX)  : ORIGIN = 0x00000400, LENGTH = 0x00000010
       FLASH_2          (RX)  : ORIGIN = 0x00000410, LENGTH = 0x0001FBF0
    这三个统统加上你的偏移地址。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2019-3-8 17:08
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    9

    主题

    24

    帖子

    0

    注册会员

    Rank: 2

    积分
    104
    最后登录
    2019-9-24
     楼主| 发表于 2018-8-22 16:37:24 | 显示全部楼层
    小恩GG 发表于 2018-8-16 10:02
    你搞Bootloader吗?问APP怎么偏移吗?
    把  FLASH_1          (RX)  : ORIGIN = 0x00000000, LENGTH = 0x000 ...

    嗷嗷,好像有点明白了,多谢!!!
    烦躁
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    723

    主题

    6382

    帖子

    0

    超级版主

    Rank: 8Rank: 8

    积分
    25494
    最后登录
    2025-9-9
    发表于 2018-8-24 15:15:35 | 显示全部楼层
    zhz5211314 发表于 2018-8-22 16:37
    嗷嗷,好像有点明白了,多谢!!!

    不客气,如果问题解决了,还请帮忙结贴。
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2025-9-11 04:43 , Processed in 0.118013 second(s), 31 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

    快速回复 返回顶部 返回列表