<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      記錄個IAR程序下載后硬件復位不運行,必須斷電復位才運行的問題

      【問題測試】

      有個F407的跑馬燈的例子,是MDK和IAR兩個版本,MDK版本的例子下載并復位后可以正常看到LED閃爍,而IAR的例子下進去后,不會閃爍。

      使用TOOL的上位機內核寄存器監測工具測試發現,硬件復位后竟然還在調試狀態,邪門了

      1.1

      1.2

      1.3

      必須斷電復位,斷電復位后正常了:

      1.4

      或者LUA命令控制退出調試狀態

      1.5


      【問題解決】

      起初以為是啟動代碼里面封裝的函數__iar_program_start造成,將其注釋掉,直接跳轉到mian也不行

      2.1

      最后測試發現是半主模式配置問題,之前測試的8.50版本是半主模式配置 + fputc重新寫,實際測試不會再執行半主操作了

      2.2

      進入IAR9,X后,這種配置不行了,必執行半主操作,導致運行起來了,還處于調試模式狀態。使用9.X要關閉半主,并且重新定向串口

      2.3

      /*******************
       *
       * Copyright 1998-2017 IAR Systems AB.
       *
       * This is a template implementation of the "__write" function used by
       * the standard library.  Replace it with a system-specific
       * implementation.
       *
       * The "__write" function should output "size" number of bytes from
       * "buffer" in some application-specific way.  It should return the
       * number of characters written, or _LLIO_ERROR on failure.
       *
       * If "buffer" is zero then __write should perform flushing of
       * internal buffers, if any.  In this case "handle" can be -1 to
       * indicate that all handles should be flushed.
       *
       * The template implementation below assumes that the application
       * provides the function "MyLowLevelPutchar".  It should return the
       * character written, or -1 on failure.
       *
       ********************/
       
      #include <LowLevelIOInterface.h>
       
      #pragma module_name = "?__write"
       
      int MyLowLevelPutchar(int x)
      {
        comSendChar(COM1, x);
         
        return x;
        
      }
       
      /*
       * If the __write implementation uses internal buffering, uncomment
       * the following line to ensure that we are called with "buffer" as 0
       * (i.e. flush) when the application terminates.
       */
       
      size_t __write(int handle, const unsigned char * buffer, size_t size)
      {
        /* Remove the #if #endif pair to enable the implementation */
      #if 1
       
        size_t nChars = 0;
       
        if (buffer == 0)
        {
          /*
           * This means that we should flush internal buffers.  Since we
           * don't we just return.  (Remember, "handle" == -1 means that all
           * handles should be flushed.)
           */
          return 0;
        }
       
        /* This template only writes to "standard out" and "standard err",
         * for all other file handles it returns failure. */
        if (handle != _LLIO_STDOUT && handle != _LLIO_STDERR)
        {
          return _LLIO_ERROR;
        }
       
        for (/* Empty */; size != 0; --size)
        {
          if (MyLowLevelPutchar(*buffer++) < 0)
          {
            return _LLIO_ERROR;
          }
       
          ++nChars;
        }
       
        return nChars;
       
      #else
       
        /* Always return error code when implementation is disabled. */
        return _LLIO_ERROR;
       
      #endif
       
      }

       

      posted @ 2025-07-27 16:39  硬漢嵌入式  閱讀(77)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 老子午夜精品无码| av亚洲一区二区在线| 女同在线观看亚洲国产精品| 国产一区精品综亚洲av| 国产欧美另类久久久精品不卡| 亚洲精品国模一区二区| 国产av剧情md精品麻豆| 99久久精品国产熟女拳交| 亚洲鸥美日韩精品久久| 成全高清在线播放电视剧| 亚洲国产一区二区在线| 精品国产伦理国产无遮挡| 国产精品毛片一区二区| 秋霞人妻无码中文字幕| 县级市| 一级片一区二区中文字幕| 一区二区三区不卡国产| 99久久国产成人免费网站| 日韩精品亚洲专区在线观看| 欧美日产国产精品日产| 人成午夜免费视频无码| 新源县| 欧美巨大极度另类| 老熟妇乱子交视频一区| 国产肥妇一区二区熟女精品| 大邑县| 人妻少妇无码精品专区| 99热精品国产三级在线观看| 西西人体www大胆高清| 人妻系列无码专区无码中出| 日本一卡二卡不卡视频查询| 亚洲国产熟女一区二区三区| 中文字幕成人精品久久不卡| 91中文字幕在线一区| 国产最新AV在线播放不卡| 韩国av无码| 疯狂做受xxxx高潮欧美日本| 国产在线视频一区二区三区| 亚洲各类熟女们中文字幕| 亚洲欧美偷国产日韩| 亚洲第一福利网站在线|