potblog

技術メモとかガジェットレビューとか

マイコン(TI)のflashとRAM領域の使い分けについて

flashにはconstやstaticなどの静的変数が使われる

RAMには普通の変数が使われる

flash32KB,RAM2KBなどRAMが少ない場合はなるべくflashを使うべき

以下のメモリマップのようにflash領域が使用される

MEMORY CONFIGURATION

         name            origin    length      used     unused   attr    fill
----------------------  --------  ---------  --------  --------  ----  --------
  SFR                   00000000   00000010  00000000  00000010  RWIX
  PERIPHERALS_8BIT      00000010   000000f0  00000000  000000f0  RWIX
  PERIPHERALS_16BIT     00000100   00000100  00000000  00000100  RWIX
  RAM                   00000200   00000800  00000056  000007aa  RWIX
  INFOA                 00001000   00000400  00000000  00000400  RWIX
  FLASH                 00008000   00007fdc  0000039c  00007c40  RWIX
  JTAGSIGNATURE         0000ffdc   00000004  00000004  00000000  RWIX  ffff 
  INT00                 0000ffe0   00000002  00000000  00000002  RWIX
  INT01                 0000ffe2   00000002  00000002  00000000  RWIX
  INT02                 0000ffe4   00000002  00000000  00000002  RWIX
  INT03                 0000ffe6   00000002  00000000  00000002  RWIX
  INT04                 0000ffe8   00000002  00000002  00000000  RWIX
  INT05                 0000ffea   00000002  00000002  00000000  RWIX
  INT06                 0000ffec   00000002  00000002  00000000  RWIX
  INT07                 0000ffee   00000002  00000002  00000000  RWIX
  INT08                 0000fff0   00000002  00000002  00000000  RWIX
  INT09                 0000fff2   00000002  00000002  00000000  RWIX
  INT10                 0000fff4   00000002  00000002  00000000  RWIX
  INT11                 0000fff6   00000002  00000002  00000000  RWIX
  INT12                 0000fff8   00000002  00000002  00000000  RWIX
  INT13                 0000fffa   00000002  00000002  00000000  RWIX
  INT14                 0000fffc   00000002  00000002  00000000  RWIX
  RESET                 0000fffe   00000002  00000002  00000000  RWIX
MODULE SUMMARY

       Module                       code   ro data   rw data
       ------                       ----   -------   -------
    .\
       msp430i20xx_ta0_01.obj       196    174       6      
       low_level_init.obj           134    0         0      
    +--+----------------------------+------+---------+---------+
       Total:                       330    174       6      
                                                            
    C:\ti\ccsv8\tools\compiler\ti-cgt-msp430_18.1.2.LTS\lib\rts430_eabi.lib
       copy_decompress_lzss.c.obj   124    0         0      
       lsr16.asm.obj                76     0         0      
       autoinit.c.obj               66     0         0      
       lsl16.asm.obj                44     0         0      
       boot.c.obj                   28     2         0      
       copy_decompress_none.c.obj   18     0         0      
       memcpy.c.obj                 18     0         0      
       epilog.asm.obj               16     0         0      
       isr_trap.asm.obj             8      0         0      
       exit.c.obj                   6      0         0      
       int01.asm.obj                0      2         0      
       int04.asm.obj                0      2         0      
       int05.asm.obj                0      2         0      
       int07.asm.obj                0      2         0      
       int08.asm.obj                0      2         0      
       int09.asm.obj                0      2         0      
       int10.asm.obj                0      2         0      
       int11.asm.obj                0      2         0      
       int12.asm.obj                0      2         0      
       int13.asm.obj                0      2         0      
       int14.asm.obj                0      2         0      
       startup.c.obj                2      0         0      
    +--+----------------------------+------+---------+---------+
       Total:                       406    24        0      
                                                            
       Stack:                       0      0         80     
       Linker Generated:            0      15        0      
    +--+----------------------------+------+---------+---------+
       Grand Total:                 736    213       86     

Arty S7の環境構築と書き込み時のHWSVについて

プロジェクトの作成について

New Projectにて以下を設定

Project type:RTL

Default part:Boards->Arty S7-50

プログラム作成からbitファイル作成まで

Project ManagerからAdd sourceをクリックし以下を設定

Add source:Add or create designsources

Add or create designsources:Create fileにてVHDLファイルを作成

IOを以下のように配置

f:id:potblog:20200223224050p:plain

作成したVHDLを開き、以下のように記述

entity tmp is
    Port ( a : in STD_LOGIC;
           b : out STD_LOGIC);
end tmp;

architecture Behavioral of tmp is
begin
    b<=a;
end Behavioral;

Run synthesisをクリック

問題なければOpen synthesized designをクリック

以下のようにピンを設定

G15はArty S7のBTN0に相当
H15はArty S7のLED5に相当

保存し、Run Implementationをクリック

問題なければGenerate Bitstreamをクリック

書き込みについて

FPGAをPCに接続する

書き込むのでOpen Hardware ManagerにてAuto connectをクリック

FPGAが見つからず、No hardware target is openと表示されたら、Vivadoのインストーラを用いてHardware Serverをインストール

Hardware Serverを起動した状態でAuto connectするとFPGAが見つかる

f:id:potblog:20200223224902p:plain

Program deviceにて書き込む

ISEでchipscopeの使い方

chipscopeとは

使い方

プロジェクトにchipscopeを追加する

トリガ信号はRising Edgeで確認したいのでMatch TypeをBasic w/edgesに設定

f:id:potblog:20190910234854p:plain

続きを読む

ロードセルYZC-161Bで体重計作成

安価なロードセルのYZC-161Bとraspberry pi zero wを使って体重計を作ってみました

部品

続きを読む

fusionPCBでセール中にPCBAを頼んでみた

fusionPCBで基板実装サービスのPCBAを利用してみました。

PCBAとは回路図データと部品データを送ると発注先で基板の製造と部品の発注と実装が行われるサービスです。

自分ではんだ付けするのが面倒な場合に使えると思います。

通常PCBAには実装費としてそこそこの値段がかかります。
しかし今回発注したタイミングではPCBAのセールが行われており、なんと実装費が無料でした。

実装5枚にかかった費用は約3万円で内訳以下の通りです。

  • 基板代:1000円
  • 部品代:27000円
  • 送料:2000円(無料だと思っていたが代引きされた)

部品代も通販サイト(digikeyなど)の値段の1割増し程度で、自分で実装するのと比べて費用がほぼ変わらなかったので利用してみました。

到着までのスケジュールは以下の通りです。

  • 6/27 発注
  • 8/7 発送
  • 8/14 到着

今回製造にかかる時間が予定の4週間から6週間に伸びたのはセールによる大量発注のためだと思われます。
また輸送にはDHLを選択しましたが、どうやらDHLは土日祝はやってないみたいです。

実装自体は特に問題なく行われておりました。

時間はかかりましたが今回のようにセールがあればまた利用してみようと思います。

Debian9でwordpressを構築する際のメモ

ipの固定

/etc/network/interfaces

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
allow-hotplug enp0s25
#iface enp0s25 inet dhcp
iface enp0s25 inet static
address 192.168.2.104
netmask 255.255.255.0
gateway 192.168.2.1
続きを読む