亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? flash_access_example.asm

?? csr芯片內置dsp編程demo,可以學習它的dsp編程
?? ASM
字號:
// *****************************************************************************
// Copyright (C) Cambridge Silicon Radio plc 2003-2006        http://www.csr.com
// Part of BlueLab 3.5.2-release
//
// $Revision$  $Date$
// *****************************************************************************

// *****************************************************************************
// DESCRIPTION
//    An example of accessing flash data (and code for BC5-MM) from the Kalimba DSP
//
// NOTES
//    If using BC3-MM a kalimba_r03 chip (date code of 450 or higher) must be
// used if Kalimba is to access flash memory.  If the data code is less than 450
// then the KalimbaLoad() call from the VM will fail.
//
//    For BC5-MM chips we run part of the code from flash PM as an example.  See
// the ".CODESEGMENT PM_FLASH;" below.
//
// What the code does:
//    1) Reads an ascii text string from flash and sends it as a message to the
//       VM.  The VM then displays this message using a PRINT statement.
//    2) Next it reads 23Kwords of data from flash and checks that what it's
//       read is what it expected.  The data is words of 0-31 repeated many
//       times (see below).
//    3) Finally it reads another string from flash and sends it as a message to
//       the VM.  The VM then displays this message using a PRINT statement.
//
// *****************************************************************************

// includes
.include "core_library.h"

.define $FLASH_TEST_MESSAGE_TO_VM       0x1000

.MODULE $M.main;
   .CODESEGMENT PM;
   .DATASEGMENT DM;

   .VAR  $message_buffer[64];

   // -- Define a new flash group to use called 'FLASHDATA' --
   //          Name            Start   End     Width   Tag         Relocatable?
   .DEFGROUP   FlashDataGroup  0x0000  0xFFFF  16      flash.data  RELOCATABLE;

   //          Name            CIRCULAR?       Link Order          Group list
   .DEFSEGMENT FLASHDATA                       1                   FlashDataGroup;

   // This address gets filled in by firmware upon a KalimbaLoad call from the VM
   .VAR/DM1 $flash.data.address;


   .VAR/FLASHDATA $hello_text[] = 72, 101, 108, 108, 111,  46,  32,  84, 104,
                                 105, 115,  32, 109, 101, 115, 115,  97, 103,
                                 101,  32, 104,  97, 115,  32,  99, 111, 109,
                                 101,  32, 102, 114, 111, 109,  32, 102, 108,
                                  97, 115, 104,  33, 0;

   .DEFINE LOTA_DATA_512  0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31, \
                          0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31, \
                          0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31, \
                          0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31, \
                          0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31, \
                          0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31, \
                          0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31, \
                          0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31, \
                          0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31, \
                          0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31, \
                          0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31, \
                          0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31, \
                          0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31, \
                          0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31, \
                          0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31, \
                          0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31

   .VAR/FLASHDATA $lota_flash_data[23552] = LOTA_DATA_512, LOTA_DATA_512, LOTA_DATA_512,
                                            LOTA_DATA_512, LOTA_DATA_512, LOTA_DATA_512,
                                            LOTA_DATA_512, LOTA_DATA_512, LOTA_DATA_512,
                                            LOTA_DATA_512, LOTA_DATA_512, LOTA_DATA_512,
                                            LOTA_DATA_512, LOTA_DATA_512, LOTA_DATA_512,
                                            LOTA_DATA_512, LOTA_DATA_512, LOTA_DATA_512,
                                            LOTA_DATA_512, LOTA_DATA_512, LOTA_DATA_512,
                                            LOTA_DATA_512, LOTA_DATA_512, LOTA_DATA_512,
                                            LOTA_DATA_512, LOTA_DATA_512, LOTA_DATA_512,
                                            LOTA_DATA_512, LOTA_DATA_512, LOTA_DATA_512,
                                            LOTA_DATA_512, LOTA_DATA_512, LOTA_DATA_512,
                                            LOTA_DATA_512, LOTA_DATA_512, LOTA_DATA_512,
                                            LOTA_DATA_512, LOTA_DATA_512, LOTA_DATA_512,
                                            LOTA_DATA_512, LOTA_DATA_512, LOTA_DATA_512,
                                            LOTA_DATA_512, LOTA_DATA_512, LOTA_DATA_512,
                                            LOTA_DATA_512;

   .VAR/FLASHDATA $completed_text[] =   50,  51,  75, 119, 111, 114, 100, 115,
                                        32, 111, 102,  32, 102, 108,  97, 115,
                                       104,  32, 100,  97, 116,  97,  32, 104,
                                        97, 118, 101,  32,  98, 101, 101, 110,
                                        32, 115, 117,  99,  99, 101, 115, 115,
                                       102, 117, 108, 108, 121,  32, 114, 101,
                                        97, 100,  46;

   $main:
   // initialise the stack library
   call $stack.initialise;
   // initialise the interrupt library
   call $interrupt.initialise;
   // initialise the message library
   call $message.initialise;
   // initialise the cbuffer library
   call $cbuffer.initialise;
   .ifdef DEBUG_ON
      // initialise the profiler library
      call $profiler.initialise;
   .endif

   // tell vm we're ready and wait for the go message
   call $message.send_ready_wait_for_go;

   // if we're using BC5-MM then we'll test running code from flash
   .ifdef BC5MM
      call $flash.init_pm;
   .endif

   // now test the flash access
   // running the code from flash (if BC5MM)
   jump $test_the_flash_access;

.ENDMODULE;




.MODULE $M.test_the_flash_access;
   .ifdef BC5MM
      .CODESEGMENT PM_FLASH;
   .else
      .CODESEGMENT PM;
   .endif
   .DATASEGMENT DM;

   $test_the_flash_access:

   // -- Send 'hello' message to VM using text string from flash --
   // copy variable from flash pages to dm
   r0 = &$hello_text;
   r1 = LENGTH($hello_text);
   I0 = &$message_buffer;
   r2 = M[$flash.data.address];
   call $flash.copy_to_dm;
   // send message
   r2 = $message.LONG_MESSAGE_MODE_ID;
   r3 = $FLASH_TEST_MESSAGE_TO_VM;
   r4 = LENGTH($hello_text);
   r5 = &$message_buffer;
   call $message.send;



   // -- Example of reading a large block of data from flash (lota_flash_data1) --
   r4 = &$lota_flash_data;
   r5 = LENGTH($lota_flash_data);
   r6 = 0;
   // Only 4k of flash is mapped in at any one point. So we need to make sure we
   // dont read past a page boundary, if we need to then we must map in the next
   // page.
   lota_flash_data_page_loop:
      // map in the flash page, and get a pointer to the data
      r0 = r4;
      r1 = r5;
      r2 = M[$flash.data.address];
      call $flash.map_page_into_dm;
      // set I0 = pointer to flash data (in the dm2 window)
      // set r10 = amount to read (from this flash page)
      I0 = r0;
      r10 = r1;

      // set remaining amount to read next time
      r5 = r5 - r1;
      // and starting address to read from next time
      r4 = r4 + r1;

      // read all flash data needed from this flash page
      do lota_flash_data_inner_loop;
         // read word from flash
         r0 = M[I0,1];
         // check word is what we expect it to be
         Null = r0 - r6;
         if NZ call $error;
         // increment check word for next time
         r6 = r6 + 1;
         Null = r6 - 32;
         if Z r6 = 0;
      lota_flash_data_inner_loop:

      // if we haven't read all the data then loop around again mapping in another page
      Null = r5;
   if NZ jump lota_flash_data_page_loop;


   // wait for message queue to empty
   wait_till_queue_empty:
      call $timer.1ms_delay;
      call $message.send_queue_fullness;
      Null = r0;
   if NZ jump wait_till_queue_empty;


   // -- Send 'completed' message to VM using text string from flash --
   // copy variable from flash pages to dm
   r0 = &$completed_text;
   r1 = LENGTH($completed_text);
   I0 = &$message_buffer;
   r2 = M[$flash.data.address];
   call $flash.copy_to_dm;
   // send message
   r2 = $message.LONG_MESSAGE_MODE_ID;
   r3 = $FLASH_TEST_MESSAGE_TO_VM;
   r4 = LENGTH($completed_text);
   r5 = &$message_buffer;
   call $message.send;


   // now sit doing nothing!
   main_loop:
      call $timer.1ms_delay;
   jump main_loop;

.ENDMODULE;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一区二区三区在线播放| 欧美大尺度电影在线| 国产精品美女久久久久久久网站| 精品亚洲欧美一区| 精品国产一区二区三区久久影院| 久久精品国产网站| 久久婷婷综合激情| 成人性视频免费网站| 日韩美女啊v在线免费观看| 色噜噜狠狠成人中文综合| 亚洲在线一区二区三区| 欧美一区二区三区在线| 麻豆91免费观看| 久久久美女毛片| 97久久久精品综合88久久| 亚洲最新视频在线播放| 91精品国产色综合久久不卡蜜臀 | 欧美一区二区三区视频| 激情综合五月婷婷| 亚洲日穴在线视频| 3751色影院一区二区三区| 狠狠狠色丁香婷婷综合激情| 国产精品成人免费| 在线91免费看| 成人免费毛片片v| 香蕉av福利精品导航| 精品国产一区二区三区久久久蜜月| 国产成人高清视频| 亚洲二区视频在线| 国产三级欧美三级| 在线观看日韩国产| 国产精品综合在线视频| 亚洲网友自拍偷拍| 中文字幕免费不卡在线| 717成人午夜免费福利电影| 国产精品一二一区| 午夜久久久影院| 中文字幕乱码一区二区免费| 555www色欧美视频| 一本久久精品一区二区| 卡一卡二国产精品| 夜夜揉揉日日人人青青一国产精品| 精品国产区一区| 欧美人伦禁忌dvd放荡欲情| 成人免费福利片| 免费成人在线影院| 亚洲成人一二三| 国产精品久久久久四虎| 欧美精品一区视频| 69精品人人人人| 在线观看www91| 成人精品国产一区二区4080| 久久国产精品99久久久久久老狼 | 国产夜色精品一区二区av| 欧美午夜片在线观看| 高清在线不卡av| 久久66热re国产| 欧美aaaaa成人免费观看视频| 亚洲欧美欧美一区二区三区| 国产亚洲欧美色| 精品欧美久久久| 日韩欧美激情在线| 欧美一区二区三区人| 91.麻豆视频| 欧美日韩一区在线| 欧美亚洲自拍偷拍| 日本电影欧美片| 91麻豆文化传媒在线观看| 成人精品小蝌蚪| 成人av在线一区二区| 国产传媒日韩欧美成人| 国内一区二区视频| 国产露脸91国语对白| 国产中文一区二区三区| 精品亚洲porn| 国产麻豆日韩欧美久久| 国产九色sp调教91| 国产69精品久久99不卡| 国产69精品久久777的优势| 粉嫩aⅴ一区二区三区四区五区| 国产毛片精品视频| 成人福利视频网站| 91天堂素人约啪| 欧美调教femdomvk| 欧美日韩国产大片| 日韩一区二区免费在线电影| 精品少妇一区二区三区日产乱码| 精品日韩一区二区| 久久久亚洲精华液精华液精华液| 国产亚洲污的网站| 日韩一区日韩二区| 亚洲一线二线三线久久久| 亚洲国产日韩a在线播放性色| 亚洲线精品一区二区三区八戒| 亚洲国产成人91porn| 日本亚洲免费观看| 国产麻豆精品在线观看| av电影在线不卡| 欧美三级欧美一级| 日韩欧美在线网站| 国产精品久久毛片av大全日韩| 亚洲欧美一区二区三区国产精品| 亚洲一区在线观看免费观看电影高清| 偷拍亚洲欧洲综合| 国产福利精品一区| 在线观看视频一区二区| 日韩精品一区二区三区四区| 欧美激情一区二区三区蜜桃视频| 亚洲黄色性网站| 久久成人久久鬼色| 99精品1区2区| 欧美大度的电影原声| 中文字幕一区二区三区四区不卡 | 色诱视频网站一区| 91精品国产品国语在线不卡| 日本一区二区视频在线| 一区二区成人在线视频| 激情欧美日韩一区二区| 一本久道中文字幕精品亚洲嫩| 日韩欧美黄色影院| 亚洲三级在线观看| 久国产精品韩国三级视频| 91丨porny丨国产入口| 日韩女优av电影在线观看| 亚洲欧洲成人精品av97| 久久机这里只有精品| 欧美中文字幕亚洲一区二区va在线 | 日本高清不卡aⅴ免费网站| 日韩免费看的电影| 亚洲精品亚洲人成人网| 国内久久婷婷综合| 欧美日韩国产一级二级| 1024精品合集| 国产精品综合在线视频| 7777精品伊人久久久大香线蕉最新版 | 国产嫩草影院久久久久| 天堂va蜜桃一区二区三区漫画版| 不卡的电影网站| 精品国产乱码久久久久久久久| 亚洲国产日日夜夜| 色婷婷综合久久| 久久免费视频一区| 日本欧美加勒比视频| 在线观看91精品国产入口| 中文一区二区在线观看| 国产在线精品一区二区不卡了| 欧美日韩精品是欧美日韩精品| 国产精品欧美久久久久一区二区| 免费高清成人在线| 欧美一三区三区四区免费在线看| 亚洲欧美电影一区二区| 成人视屏免费看| 国产日本一区二区| 国产一区二区在线观看免费| 日韩视频一区二区三区在线播放| 亚洲成在人线在线播放| 欧美亚洲综合在线| 亚洲一区影音先锋| 欧美在线观看视频在线| 亚洲另类在线一区| 日本精品免费观看高清观看| 国产精品久久久久久久久免费樱桃 | 欧美高清视频www夜色资源网| 一区二区三区电影在线播| 91污在线观看| 日韩毛片视频在线看| 97久久精品人人澡人人爽| 亚洲欧美一区二区视频| av电影在线观看一区| 亚洲免费大片在线观看| 欧美中文字幕一区二区三区 | 亚洲一区二区三区四区不卡| 色狠狠色狠狠综合| 亚洲一区二区三区四区五区黄| 精品视频在线看| 日韩国产欧美一区二区三区| 欧美一区二区三区视频| 韩日欧美一区二区三区| 国产日韩欧美a| av电影在线不卡| 亚洲一区在线看| 日韩一区二区在线观看视频| 久久精品国产77777蜜臀| 国产日韩欧美一区二区三区乱码| jlzzjlzz欧美大全| 一区二区三区四区视频精品免费 | 一本一本久久a久久精品综合麻豆| 亚洲视频一区二区免费在线观看| 在线视频国内一区二区| 午夜精品一区二区三区免费视频| 欧美一二三区精品| 丰满岳乱妇一区二区三区| 国产精品久久久久久久午夜片| 色婷婷狠狠综合| 日韩av电影一区| 欧美韩日一区二区三区| 欧美色综合网站| 国内精品久久久久影院薰衣草| 亚洲欧洲99久久| 日韩欧美中文一区|