Ignore:
Timestamp:
Sep 14, 2020, 6:36:03 PM (4 years ago)
Author:
coas-nagasima
Message:

SPIとSerial、KPUの動作を改善

Location:
azure_iot_hub_riscv/trunk/app_iothub_client/src
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • azure_iot_hub_riscv/trunk/app_iothub_client/src/command.c

    r453 r458  
    9292void
    9393digitalWrite(uint8_t Pin, int dwVal){
    94     int8_t gpio_pin = gpio_get_gpiohno(Pin, false);
     94        int8_t gpio_pin = gpio_get_gpiohno(Pin, false);
    9595
    96     if( gpio_pin >= 0){
    97         gpio_set_pin(TADR_GPIOHS_BASE, (uint8_t)gpio_pin, dwVal);
    98     }
     96        if( gpio_pin >= 0){
     97                gpio_set_pin(TADR_GPIOHS_BASE, (uint8_t)gpio_pin, dwVal);
     98        }
    9999}
    100100
  • azure_iot_hub_riscv/trunk/app_iothub_client/src/envcmd.c

    r453 r458  
    11/*
    2 *  TOPPERS/ASP Kernel
    3 *      Toyohashi Open Platform for Embedded Real-Time Systems/
    4 *      Advanced Standard Profile Kernel
    5 *
    6 *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
    7 *                              Toyohashi Univ. of Technology, JAPAN
    8 *  Copyright (C) 2004-2012 by Embedded and Real-Time Systems Laboratory
    9 *              Graduate School of Information Science, Nagoya Univ., JAPAN
    10 *
    11 *  ã‹L’˜ìŒ ŽÒ‚́CˆÈ‰º‚Ì(1)`(4)‚ÌðŒ‚ð–ž‚½‚·ê‡‚ÉŒÀ‚èC–{ƒ\ƒtƒgƒEƒF
    12 *  ƒAi–{ƒ\ƒtƒgƒEƒFƒA‚ð‰ü•Ï‚µ‚½‚à‚Ì‚ðŠÜ‚ށDˆÈ‰º“¯‚¶j‚ðŽg—pE•¡»E‰ü
    13 *  •ÏEÄ”z•ziˆÈ‰ºC—˜—p‚ƌĂԁj‚·‚邱‚Ƃ𖳏ž‚Å‹–‘ø‚·‚éD
    14 *  (1) –{ƒ\ƒtƒgƒEƒFƒA‚ðƒ\[ƒXƒR[ƒh‚ÌŒ`‚Å—˜—p‚·‚éê‡‚ɂ́Cã‹L‚Ì’˜ì
    15 *      Œ •\Ž¦C‚±‚Ì—˜—pðŒ‚¨‚æ‚щº‹L‚Ì–³•ÛØ‹K’肪C‚»‚Ì‚Ü‚Ü‚ÌŒ`‚Ń\[
    16 *      ƒXƒR[ƒh’†‚ÉŠÜ‚Ü‚ê‚Ä‚¢‚邱‚ƁD
    17 *  (2) –{ƒ\ƒtƒgƒEƒFƒA‚ðCƒ‰ƒCƒuƒ‰ƒŠŒ`Ž®‚ȂǁC‘¼‚̃\ƒtƒgƒEƒFƒAŠJ”­‚ÉŽg
    18 *      —p‚Å‚«‚éŒ`‚ōĔz•z‚·‚éê‡‚ɂ́CÄ”z•z‚É”º‚¤ƒhƒLƒ
    19 ƒƒ“ƒgi—˜—p
    20 *      ŽÒƒ}ƒjƒ
    21 ƒAƒ‹‚Ȃǁj‚ɁCã‹L‚Ì’˜ìŒ •\Ž¦C‚±‚Ì—˜—pðŒ‚¨‚æ‚щº‹L
    22 *      ‚Ì–³•ÛØ‹K’è‚ðŒfÚ‚·‚邱‚ƁD
    23 *  (3) –{ƒ\ƒtƒgƒEƒFƒA‚ðC‹@Ší‚É‘g‚ݍž‚ނȂǁC‘¼‚̃\ƒtƒgƒEƒFƒAŠJ”­‚ÉŽg
    24 *      —p‚Å‚«‚È‚¢Œ`‚ōĔz•z‚·‚éê‡‚ɂ́CŽŸ‚Ì‚¢‚¸‚ê‚©‚ÌðŒ‚ð–ž‚½‚·‚±
    25 *      ‚ƁD
    26 *    (a) Ä”z•z‚É”º‚¤ƒhƒLƒ
    27 ƒƒ“ƒgi—˜—pŽÒƒ}ƒjƒ
    28 ƒAƒ‹‚Ȃǁj‚ɁCã‹L‚Ì’˜
    29 *        ìŒ •\Ž¦C‚±‚Ì—˜—pðŒ‚¨‚æ‚щº‹L‚Ì–³•ÛØ‹K’è‚ðŒfÚ‚·‚邱‚ƁD
    30 *    (b) Ä”z•z‚ÌŒ`‘Ô‚ðC•Ê‚É’è‚ß‚é•û–@‚É‚æ‚Á‚āCTOPPERSƒvƒƒWƒFƒNƒg‚É
    31 *        •ñ‚·‚邱‚ƁD
    32 *  (4) –{ƒ\ƒtƒgƒEƒFƒA‚Ì—˜—p‚É‚æ‚è’¼Ú“I‚Ü‚½‚͊ԐړI‚ɐ¶‚¶‚é‚¢‚©‚Ȃ鑹
    33 *      ŠQ‚©‚ç‚àCã‹L’˜ìŒ ŽÒ‚¨‚æ‚ÑTOPPERSƒvƒƒWƒFƒNƒg‚ð–Ɛӂ·‚邱‚ƁD
    34 *      ‚Ü‚½C–{ƒ\ƒtƒgƒEƒFƒA‚̃†[ƒU‚Ü‚½‚̓Gƒ“ƒhƒ†[ƒU‚©‚ç‚Ì‚¢‚©‚Ȃ闝
    35 *      —R‚ÉŠî‚­¿‹‚©‚ç‚àCã‹L’˜ìŒ ŽÒ‚¨‚æ‚ÑTOPPERSƒvƒƒWƒFƒNƒg‚ð
    36 *      –Ɛӂ·‚邱‚ƁD
    37 *
    38 *  –{ƒ\ƒtƒgƒEƒFƒA‚́C–³•ÛØ‚Å’ñ‹Ÿ‚³‚ê‚Ä‚¢‚é‚à‚Ì‚Å‚ ‚éDã‹L’˜ìŒ ŽÒ‚¨
    39 *  ‚æ‚ÑTOPPERSƒvƒƒWƒFƒNƒg‚́C–{ƒ\ƒtƒgƒEƒFƒA‚ÉŠÖ‚µ‚āC“Á’è‚ÌŽg—p–Ú“I
    40 *  ‚ɑ΂·‚é“K‡«‚àŠÜ‚߂āC‚¢‚©‚È‚é•ÛØ‚às‚í‚È‚¢D‚Ü‚½C–{ƒ\ƒtƒgƒEƒF
    41 *  ƒA‚Ì—˜—p‚É‚æ‚è’¼Ú“I‚Ü‚½‚͊ԐړI‚ɐ¶‚¶‚½‚¢‚©‚Ȃ鑹ŠQ‚ÉŠÖ‚µ‚Ä‚àC‚»
    42 *  ‚̐ӔC‚𕉂í‚È‚¢D
    43 *
    44 *  $Id$
    45 */
     2 *  TOPPERS/ASP Kernel
     3 *      Toyohashi Open Platform for Embedded Real-Time Systems/
     4 *      Advanced Standard Profile Kernel
     5 *
     6 *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
     7 *                              Toyohashi Univ. of Technology, JAPAN
     8 *  Copyright (C) 2004-2012 by Embedded and Real-Time Systems Laboratory
     9 *              Graduate School of Information Science, Nagoya Univ., JAPAN
     10 *
     11 *  上記著作権者は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ
     12 *  ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改
     13 *  変・再配布(以下,利用と呼ぶ)することを無償で許諾する.
     14 *  (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作
     15 *      権表示,この利用条件および下記の無保証規定が,そのままの形でソー
     16 *      スコード中に含まれていること.
     17 *  (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使
     18 *      用できる形で再配布する場合には,再配布に伴うドキュメント(利用
     19 *      者マニュアルなど)に,上記の著作権表示,この利用条件および下記
     20 *      の無保証規定を掲載すること.
     21 *  (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使
     22 *      用できない形で再配布する場合には,次のいずれかの条件を満たすこ
     23 *      と.
     24 *    (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著
     25 *        作権表示,この利用条件および下記の無保証規定を掲載すること.
     26 *    (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに
     27 *        報告すること.
     28 *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
     29 *      害からも,上記著作権者およびTOPPERSプロジェクトを免責すること.
     30 *      また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理
     31 *      由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを
     32 *      免責すること.
     33 *
     34 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     35 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
     36 *  に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
     37 *  アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
     38 *  の責任を負わない.
     39 *
     40 *  $Id$
     41 */
    4642#include <stdio.h>
    4743#include <stdlib.h>
     
    222218}
    223219
    224 
    225220int set_cs_main(int argc, char **argv)
    226221{
     
    285280        return 0;
    286281}
     282
    287283int clear_proxy_main(int argc, char **argv)
    288284{
  • azure_iot_hub_riscv/trunk/app_iothub_client/src/esp_at_socket.c

    r453 r458  
    11/*
    2 *  TOPPERS/ASP Kernel
    3 *      Toyohashi Open Platform for Embedded Real-Time Systems/
    4 *      Advanced Standard Profile Kernel
    5 *
    6 *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
    7 *                              Toyohashi Univ. of Technology, JAPAN
    8 *  Copyright (C) 2004-2012 by Embedded and Real-Time Systems Laboratory
    9 *              Graduate School of Information Science, Nagoya Univ., JAPAN
    10 *
    11 *  上記著作権者は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ
    12 *  ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改
    13 *  変・再配布(以下,利用と呼ぶ)することを無償で許諾する.
    14 *  (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作
    15 *      権表示,この利用条件および下記の無保証規定が,そのままの形でソー
    16 *      スコード中に含まれていること.
    17 *  (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使
    18 *      用できる形で再配布する場合には,再配布に伴うドキュメント(利用
    19 *      者マニュアルなど)に,上記の著作権表示,この利用条件および下記
    20 *      の無保証規定を掲載すること.
    21 *  (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使
    22 *      用できない形で再配布する場合には,次のいずれかの条件を満たすこ
    23 *      と.
    24 *    (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著
    25 *        作権表示,この利用条件および下記の無保証規定を掲載すること.
    26 *    (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに
    27 *        報告すること.
    28 *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
    29 *      害からも,上記著作権者およびTOPPERSプロジェクトを免責すること.
    30 *      また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理
    31 *      由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを
    32 *      免責すること.
    33 *
    34 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
    35 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
    36 *  に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
    37 *  アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
    38 *  の責任を負わない.
    39 *
    40 *  $Id$
    41 */
     2 *  TOPPERS/ASP Kernel
     3 *      Toyohashi Open Platform for Embedded Real-Time Systems/
     4 *      Advanced Standard Profile Kernel
     5 *
     6 *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
     7 *                              Toyohashi Univ. of Technology, JAPAN
     8 *  Copyright (C) 2004-2012 by Embedded and Real-Time Systems Laboratory
     9 *              Graduate School of Information Science, Nagoya Univ., JAPAN
     10 *
     11 *  上記著作権者は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ
     12 *  ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改
     13 *  変・再配布(以下,利用と呼ぶ)することを無償で許諾する.
     14 *  (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作
     15 *      権表示,この利用条件および下記の無保証規定が,そのままの形でソー
     16 *      スコード中に含まれていること.
     17 *  (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使
     18 *      用できる形で再配布する場合には,再配布に伴うドキュメント(利用
     19 *      者マニュアルなど)に,上記の著作権表示,この利用条件および下記
     20 *      の無保証規定を掲載すること.
     21 *  (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使
     22 *      用できない形で再配布する場合には,次のいずれかの条件を満たすこ
     23 *      と.
     24 *    (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著
     25 *        作権表示,この利用条件および下記の無保証規定を掲載すること.
     26 *    (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに
     27 *        報告すること.
     28 *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
     29 *      害からも,上記著作権者およびTOPPERSプロジェクトを免責すること.
     30 *      また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理
     31 *      由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを
     32 *      免責すること.
     33 *
     34 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     35 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
     36 *  に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
     37 *  アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
     38 *  の責任を負わない.
     39 *
     40 *  $Id$
     41 */
    4242#include <stddef.h>
    4343#include <stdbool.h>
     
    306306{
    307307        struct tm tm = {
    308         0,  /* tm_sec */
    309         0,  /* tm_min */
    310         0,  /* tm_hour */
    311         1,  /* tm_mday */
    312         0,  /* tm_mon */
    313         2020 - 1900,  /* tm_year */
     308                0,  /* tm_sec */
     309                0,  /* tm_min */
     310                0,  /* tm_hour */
     311                1,  /* tm_mday */
     312                0,  /* tm_mon */
     313                2020 - 1900,  /* tm_year */
    314314        };
    315315        MINIMUM_YEAR = mktime(&tm);
  • azure_iot_hub_riscv/trunk/app_iothub_client/src/esp_at_socket.h

    r453 r458  
    11/*
    2 *  TOPPERS/ASP Kernel
    3 *      Toyohashi Open Platform for Embedded Real-Time Systems/
    4 *      Advanced Standard Profile Kernel
    5 *
    6 *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
    7 *                              Toyohashi Univ. of Technology, JAPAN
    8 *  Copyright (C) 2004-2012 by Embedded and Real-Time Systems Laboratory
    9 *              Graduate School of Information Science, Nagoya Univ., JAPAN
    10 *
    11 *  上記著作権者は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ
    12 *  ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改
    13 *  変・再配布(以下,利用と呼ぶ)することを無償で許諾する.
    14 *  (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作
    15 *      権表示,この利用条件および下記の無保証規定が,そのままの形でソー
    16 *      スコード中に含まれていること.
    17 *  (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使
    18 *      用できる形で再配布する場合には,再配布に伴うドキュメント(利用
    19 *      者マニュアルなど)に,上記の著作権表示,この利用条件および下記
    20 *      の無保証規定を掲載すること.
    21 *  (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使
    22 *      用できない形で再配布する場合には,次のいずれかの条件を満たすこ
    23 *      と.
    24 *    (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著
    25 *        作権表示,この利用条件および下記の無保証規定を掲載すること.
    26 *    (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに
    27 *        報告すること.
    28 *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
    29 *      害からも,上記著作権者およびTOPPERSプロジェクトを免責すること.
    30 *      また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理
    31 *      由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを
    32 *      免責すること.
    33 *
    34 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
    35 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
    36 *  に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
    37 *  アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
    38 *  の責任を負わない.
    39 *
    40 *  $Id$
    41 */
     2 *  TOPPERS/ASP Kernel
     3 *      Toyohashi Open Platform for Embedded Real-Time Systems/
     4 *      Advanced Standard Profile Kernel
     5 *
     6 *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
     7 *                              Toyohashi Univ. of Technology, JAPAN
     8 *  Copyright (C) 2004-2012 by Embedded and Real-Time Systems Laboratory
     9 *              Graduate School of Information Science, Nagoya Univ., JAPAN
     10 *
     11 *  上記著作権者は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ
     12 *  ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改
     13 *  変・再配布(以下,利用と呼ぶ)することを無償で許諾する.
     14 *  (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作
     15 *      権表示,この利用条件および下記の無保証規定が,そのままの形でソー
     16 *      スコード中に含まれていること.
     17 *  (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使
     18 *      用できる形で再配布する場合には,再配布に伴うドキュメント(利用
     19 *      者マニュアルなど)に,上記の著作権表示,この利用条件および下記
     20 *      の無保証規定を掲載すること.
     21 *  (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使
     22 *      用できない形で再配布する場合には,次のいずれかの条件を満たすこ
     23 *      と.
     24 *    (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著
     25 *        作権表示,この利用条件および下記の無保証規定を掲載すること.
     26 *    (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに
     27 *        報告すること.
     28 *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
     29 *      害からも,上記著作権者およびTOPPERSプロジェクトを免責すること.
     30 *      また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理
     31 *      由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを
     32 *      免責すること.
     33 *
     34 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     35 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
     36 *  に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
     37 *  アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
     38 *  の責任を負わない.
     39 *
     40 *  $Id$
     41 */
    4242
    4343#ifndef _ESP_AT_SOCKET_H_
  • azure_iot_hub_riscv/trunk/app_iothub_client/src/kpu_main.c

    r453 r458  
    3838*  の責任を負わない.
    3939*
    40 *  $Id$
     40*  $Id: kpu_main.c 2176 2020-08-19 23:50:05Z coas-nagasima $
    4141*/
    4242
     
    6363#include "kpu.h"
    6464#include "region_layer.h"
    65 
    66 extern void ai_dma_done_isr(DMA_Handle_t *dma);
    6765
    6866/*
     
    187185static uint32_t lable_string_draw_ram[115 * 16 * 8 / 2];
    188186#endif
    189 extern uint8_t model_data[];
     187extern const uint8_t model_data[];
    190188kpu_model_context_t g_task;
    191189static region_layer_t detect_rl;
     
    234232        OV2640_t        *hcmr;
    235233        DVP_Handle_t    *hdvp;
    236         uint16_t        *lcd_buffer;
    237234        ER_UINT ercd;
    238         uint32_t i, count;
     235        uint32_t i;
    239236        struct tm2 time;
    240237        unsigned long atmp;
     
    371368        syslog_1(LOG_NOTICE, "OV2640 id(%d)", ov2640_id(hcmr));
    372369
    373         Init.WorkMode     = SPI_WORK_MODE_0;
     370        Init.WorkMode     = SPI_WORK_MODE_2;
    374371        Init.FrameFormat  = SPI_FF_OCTAL;
    375372        Init.DataSize     = 8;
     
    385382        Init.SsPin        = SIPEED_ST7789_SS_PIN;
    386383        Init.SsNo         = SIPEED_ST7789_SS;
    387         Init.TxDMAChannel = SIPEED_DMA_CH;
     384        Init.TxDMAChannel = -1;
    388385        Init.RxDMAChannel = -1;
    389386        Init.semid        = SPI1TRN_SEM;
     
    408405        lcd_init(hlcd);
    409406        syslog_2(LOG_NOTICE, "width(%d) height(%d)", hlcd->_width, hlcd->_height);
    410         count = hcmr->_width * hcmr->_height;
    411         lcd_buffer = (uint16_t *)malloc(count * 2);
    412         if(lcd_buffer == NULL){
    413                 syslog_0(LOG_ERROR, "no lcd buffer !");
    414                 slp_tsk();
    415         }
     407
    416408        DrawProp.BackColor = ST7789_WHITE;
    417409        DrawProp.TextColor = ST7789_BLACK;
     
    466458                syslog_0(LOG_ERROR, "SD-CARD INITAIL ERROR !");
    467459#endif
    468         extern DMA_Handle_t g_ai_hdma;
    469         g_ai_hdma.chnum = AI_DMA_CH;
    470         g_ai_hdma.xfercallback = ai_dma_done_isr;
    471         g_ai_hdma.errorcallback     = NULL;
    472         g_ai_hdma.Init.Request      = DMA_SELECT_AI_RX_REQ;     /* DMA選択 */
    473         g_ai_hdma.Init.Direction    = DMA_PERIPH_TO_MEMORY;     /* DMA転送方向 */
    474         g_ai_hdma.Init.SrcMultBlock = DMAC_MULTBLOCK_CONT;      /* ソースマルチブロックタイプ */
    475         g_ai_hdma.Init.DrcMultBlock = DMAC_MULTBLOCK_CONT;      /* デスティネーションマルチブロックタイプ */
    476         g_ai_hdma.Init.SrcHandShake = DMAC_HS_HARDWARE; /* ソースハンドシェイク */
    477         g_ai_hdma.Init.DrcHandShake = DMAC_HS_SOFTWARE; /* デスティネーションハンドシェイク */
    478         g_ai_hdma.Init.SrcHwhsPol   = DMAC_HWHS_POLARITY_LOW;   /* ソースハードウェアハンドシェイク極性 */
    479         g_ai_hdma.Init.DrcHwhsPol   = DMAC_HWHS_POLARITY_LOW;   /* デスティネーションハードウェアハンドシェイク極性 */
    480         g_ai_hdma.Init.Priority     = 4;        /* 優先度 */
    481         g_ai_hdma.Init.SrcMaster    = DMAC_MASTER1;     /* ソースマスター設定 */
    482         g_ai_hdma.Init.DstMaster    = DMAC_MASTER2;     /* デスティネーションマスター設定 */
    483         g_ai_hdma.Init.SrcInc       = DMAC_ADDR_NOCHANGE;       /* ソースインクリメント設定 */
    484         g_ai_hdma.Init.DstInc       = DMAC_ADDR_INCREMENT;      /* デスティネーションインクリメント設定 */
    485         g_ai_hdma.Init.SrcTransWidth = DMAC_TRANS_WIDTH_32;     /* ソース転送幅 */
    486         g_ai_hdma.Init.DstTransWidth = DMAC_TRANS_WIDTH_32;     /* デスティネーション転送幅 */
    487         g_ai_hdma.Init.SrcBurstSize = DMAC_MSIZE_4;     /* ソースバーストサイズ */
    488         g_ai_hdma.Init.DstBurstSize = DMAC_MSIZE_4;     /* デスティネーションバーストサイズ */
    489         g_ai_hdma.Init.IocBlkTrans  = 0;        /* IOCブロック転送 */
    490         g_ai_hdma.localdata         = (void *)&g_task;
    491         if ((ercd = dma_init(&g_ai_hdma)) != E_OK) {
    492                 syslog_0(LOG_ERROR, "AI-DMA INITAIL ERROR !");
     460        if ((ercd = kpu_init(&g_task)) != E_OK) {
     461                syslog_0(LOG_ERROR, "kpu init error");
     462                slp_tsk();
    493463        }
    494464
     
    502472        detect_rl.threshold = 0.7;
    503473        detect_rl.nms_value = 0.3;
    504         region_layer_init(&detect_rl, 10, 7, 125, 320, 240);
     474        if (region_layer_init(&detect_rl, 10, 7, 125, 320, 240) != 0) {
     475                syslog_0(LOG_ERROR, "region layer init error");
     476                slp_tsk();
     477        }
    505478
    506479        bool_t camok = true;
     
    524497                        atmp = (unsigned long)hcmr->_aiBuffer - IOMEM;
    525498                        kpu_run_kmodel(&g_task, (const uint8_t *)atmp, AI_DMA_CH, ai_done, NULL);
    526 
    527                         uint32_t *p = (uint32_t *)hcmr->_dataBuffer;
    528                         uint32_t *q = (uint32_t *)lcd_buffer;
    529                         uint32_t *e = (uint32_t *)&lcd_buffer[count];
    530                         for (; q < e ; p++, q++){
    531                                 *q = SWAP_32(*p);
    532                         }
    533499                }
    534500
     
    555521                }
    556522
    557                 lcd_drawPicture(hlcd, 0, 0, hcmr->_width, hcmr->_height, lcd_buffer);
     523                lcd_drawPicture(hlcd, 0, 0, hcmr->_width, hcmr->_height, (uint16_t *)hcmr->_dataBuffer);
    558524
    559525                /* draw boxs */
  • azure_iot_hub_riscv/trunk/app_iothub_client/src/kpu_main.h

    r453 r458  
    3838 *  の責任を負わない.
    3939 *
    40  *  $Id$
     40 *  $Id: kpu_main.h 2173 2020-08-19 05:33:00Z coas-nagasima $
    4141 */
    4242
     
    5555 */
    5656
    57 #define KPU_PRIORITY    5               /* メインタスクの優先度 */
    58                                                                 /* HIGH_PRIORITYより高くすること */
     57#define KPU_PRIORITY    6               /* メインタスクの優先度 */
    5958
    6059/*
     
    9291#define INHNO_SPI     IRQ_VECTOR_SPI0   /* 割込みハンドラ番号 */
    9392#define INTNO_SPI     IRQ_VECTOR_SPI0   /* 割込み番号 */
    94 #define INTPRI_SPI    -5                /* 割込み優先度 */
     93#define INTPRI_SPI    -6                /* 割込み優先度 */
    9594#define INTATR_SPI    0                 /* 割込み属性 */
    9695
     
    9897#define INHNO_DMATX   IRQ_VECTOR_DMA3   /* 割込みハンドラ番号 */
    9998#define INTNO_DMATX   IRQ_VECTOR_DMA3   /* 割込み番号 */
    100 #define INTPRI_DMATX  -4                /* 割込み優先度 */
     99#define INTPRI_DMATX  -6                /* 割込み優先度 */
    101100#define INTATR_DMATX  0                 /* 割込み属性 */
    102101
     
    104103#define INHNO_SPIC    IRQ_VECTOR_SPI1   /* 割込みハンドラ番号 */
    105104#define INTNO_SPIC    IRQ_VECTOR_SPI1   /* 割込み番号 */
    106 #define INTPRI_SPIC   -5                /* 割込み優先度 */
     105#define INTPRI_SPIC   -6                /* 割込み優先度 */
    107106#define INTATR_SPIC   0                 /* 割込み属性 */
    108107
     
    110109#define INHNO_DMARX   IRQ_VECTOR_DMA2   /* 割込みハンドラ番号 */
    111110#define INTNO_DMARX   IRQ_VECTOR_DMA2   /* 割込み番号 */
    112 #define INTPRI_DMARX  -4                /* 割込み優先度 */
     111#define INTPRI_DMARX  -6                /* 割込み優先度 */
    113112#define INTATR_DMARX  0                 /* 割込み属性 */
    114113
    115114#define INHNO_AI      IRQ_VECTOR_AI     /* 割込みハンドラ番号 */
    116115#define INTNO_AI      IRQ_VECTOR_AI     /* 割込み番号 */
    117 #define INTPRI_AI     -4                /* 割込み優先度 */
     116#define INTPRI_AI     -7                /* 割込み優先度 */
    118117#define INTATR_AI     0                 /* 割込み属性 */
    119118
     
    121120#define INHNO_DMAAI   IRQ_VECTOR_DMA5   /* 割込みハンドラ番号 */
    122121#define INTNO_DMAAI   IRQ_VECTOR_DMA5   /* 割込み番号 */
    123 #define INTPRI_DMAAI  -4                /* 割込み優先度 */
     122#define INTPRI_DMAAI  -7                /* 割込み優先度 */
    124123#define INTATR_DMAAI  0                 /* 割込み属性 */
    125124
  • azure_iot_hub_riscv/trunk/app_iothub_client/src/main.cfg

    r454 r458  
    1111INCLUDE("syssvc/serial.cfg");
    1212INCLUDE("syssvc/logtask.cfg");
     13INCLUDE("syssvc/malloc.cfg");
    1314INCLUDE("pdic/k210/device.cfg");
    1415INCLUDE("pdic/k210/dvp.cfg");
     
    3940
    4041CRE_TSK(MAIN_TASK, { TA_ACT, 0, main_task, MAIN_PRIORITY, STACK_SIZE, NULL });
    41 CRE_TSK(KPU_TASK, { TA_NULL, 0, kpu_task, KPU_PRIORITY, KPU_STACK_SIZE, NULL });
     42CRE_TSK(KPU_TASK, { TA_ACT, 0, kpu_task, KPU_PRIORITY, KPU_STACK_SIZE, NULL });
    4243
    4344ATT_ISR({TA_NULL, SPI_PORTID, INTNO_SPI, spi_isr, 1 });
     
    5253
    5354ATT_ISR({TA_NULL, 0, INTNO_AI, ai_done_isr, 1 });
    54 CFG_INT(INTNO_AI, { TA_ENAINT | INTATR_AI, INTPRI_AI });
     55CFG_INT(INTNO_AI, { INTATR_AI, INTPRI_AI });
    5556ATT_ISR({TA_NULL, AI_DMA_CH, INTNO_DMAAI, channel_dmac_isr, 1 });
    5657CFG_INT(INTNO_DMAAI, { TA_ENAINT | INTATR_DMAAI, INTPRI_DMAAI });
  • azure_iot_hub_riscv/trunk/app_iothub_client/src/main.h

    r453 r458  
    5454 */
    5555
    56 #define MAIN_PRIORITY   8               /* メインタスクの優先度 */
    57                                                                 /* HIGH_PRIORITYより高くすること */
     56#define MAIN_PRIORITY   5               /* メインタスクの優先度 */
    5857
    5958/*
Note: See TracChangeset for help on using the changeset viewer.