Application Note

本ドキュメントはCypress (サイプレス) 製品に関する情報が記載されております。
AN07-00150-3
FR Family
32-BIT MICROCONTROLLER
MB91460series
MB2198-600A5 セットアップガイド
AN07-00150-3
注意事項
本資料の記載内容は、予告なしに変更することがありますので、ご用命の際は営業部門
にご確認ください。
本資料に記載された動作概要や応用回路例は、半導体デバイスの標準的な動作や使い方
を示したもので、実際に使用する機器での動作を保証するものではありません。従いま
して、これらを使用するにあたってはお客様の責任において機器の設計を行ってくださ
い。これらの使用に起因する損害などについては、当社はその責任を負いません。
本資料に記載された動作概要・回路図を含む技術情報は、当社もしくは第三者の特許権、
著作権等の知的財産権やその他の権利の使用権または実施権の許諾を意味するもので
はありません。また、これらの使用について、第三者の知的財産権やその他の権利の実
施ができることの保証を行うものではありません。したがって、これらの使用に起因す
る第三者の知的財産権やその他の権利の侵害について、当社はその責任を負いません。
本資料に記載された製品は、通常の産業用、一般事務用、パーソナル用、家庭用などの
一般的用途に使用されることを意図して設計・製造されています。極めて高度な安全性
が要求され、仮に当該安全性が確保されない場合、社会的に重大な影響を与えかつ直接
生命・身体に対する重大な危険性を伴う用途(原子力施設における核反応制御、航空機
自動飛行制御、航空交通管制、大量輸送システムにおける運行制御、生命維持のための
医療機器、兵器システムにおけるミサイル発射制御をいう)、ならびに極めて高い信頼
性が要求される用途(海底中継器、宇宙衛星をいう)に使用されるよう設計・製造され
たものではありません。したがって、これらの用途にご使用をお考えのお客様は、必ず
事前に営業部門までご相談ください。ご相談なく使用されたことにより発生した損害な
どについては、責任を負いかねますのでご了承ください。
半導体デバイスはある確率で故障が発生します。当社半導体デバイスが故障しても、結
果的に人身事故、火災事故、社会的な損害を生じさせないよう、お客様は、装置の冗長
設計、延焼対策設計、過電流防止対策設計、誤動作防止設計などの安全設計をお願いし
ます。
本資料に記載された製品を輸出または提供する場合は、外国為替及び外国貿易法および
米国輸出管理関連法規等の規制をご確認の上、必要な手続きをおとりください。
本書に記載されている社名および製品名などの固有名詞は、各社の商標または登録商標
です。
Copyright© 2008 FUJITSU MICROELECTRONICS LIMITED all rights reserved
1
AN07-00150-3
改版履歴
版数
日付
内容
1.0 版
2007.12.7
新規作成
2.0 版
2008/3/3
フォーマット変更
3.0 版
2008/3/12
9 章を追加
2
AN07-00150-3
目次
注意事項.......................................................................................................................................................1
改版履歴.......................................................................................................................................................2
目次...............................................................................................................................................................3
1 はじめに....................................................................................................................................................4
2 セットアップ手順....................................................................................................................................4
3 エミュレータ本体/各ボードの接続 ....................................................................................................5
3.1
ヘッダボードとYQPACKの接続 ........................................................................................6
3.2
NQPACKとヘッダボードの接続 ........................................................................................7
3.3
ヘッダボードとアダプタボードの接続 ............................................................................8
3.4
アダプタボードとエミュレータ本体、パソコンの接続 ................................................8
4 アダプタボードの設定一覧....................................................................................................................9
5 アダプタボードのジャンパ、スイッチ設定 ......................................................................................10
5.1
5V単一電源で使用する場合のジャンパおよびスイッチ設定......................................10
5.2
外部バス 3.3V、I/Oを 5Vで使用する場合のジャンパおよびスイッチ設定...............11
5.3
3V単一電源で使用する場合のジャンパおよびスイッチ設定......................................12
6 アダプタボードのジャンパとスイッチの仕様 ..................................................................................13
7 アダプタボードのテストポイント ......................................................................................................18
8 Boot ROM搭載品におけるデバッグ時の注意事項について ............................................................19
8.1
Boot ROM搭載品におけるベクタ設定について ............................................................19
9 0x140000 番地以降を使用する方法について .....................................................................................22
9.1
0x140000 番地以降を使用するための設定 .....................................................................22
3
AN07-00150-3
1
はじめに
本資料では、富士通 32 ビットマイクロコントローラ MB91460 シリーズのデバッグ環境構
成およびセットアップ手順について説明します。
2
セットアップ手順
MB91460 シリーズにおけるデバッグ環境のセットアップ手順のフローを図 2-1 に示します。
エミュレータ/各ボードの接続、アダプタボードの設定手順、内容については、次章以降で
説明します。また、SOFTUNE の起動およびデバッガの起動手順については、SOFTUNE の
セットアップガイドをご参照願います。
セットアップ開始
エミュレータ本体/各ボードの接続
(6∼9 ページ参照)
アダプタボードの設定
(10∼13 ページ参照)
エミュレータ本体の電源 ON
アダプタボードの電源 ON
ターゲットボードの電源 ON
SOFTUNE の起動 (※)
デバッガの起動 (※)
デバッグを開始
※ SOFTUNE のセットアップガイドを参照
図 2-1 セットアップ手順のフロー
4
AN07-00150-3
3
エミュレータ本体/各ボードの接続
MB91460 シリーズにおけるデバッグ環境の接続構成を図 3.1 に示します。デバッグ環境は、
パ ソ コ ン 、 エ ミ ュ レ ー タ 本 体 (MB2198-01) 、 DSU4 ケ ー ブ ル (MB2198-10) 、 評 価 チ ッ プ
(MB91V460)搭載のアダプタボード(MB2198-600A5)、ヘッダボード(MB2198-6xx)、ターゲ
ットボード(ユーザーボード)により構成されます。パソコンには統合開発環境 SOFTUNE
をセットアップする必要があります(セットアップ手順は SOFTUNE ファーストステップガ
イドをご参照下さい)。なお、エミュレータ本体およびアダプタボードは、付属の AC アダ
プタによる電源供給が必要です。また、ターゲットボード(ユーザーボード)には、ヘッダ
ボードを接続するためにソケット(NQPACK)を実装する必要があります。それぞれの接続
は、次項に示す順番で行ってください。
パソコン
エミュレータ本体
MB2198-01
DSU4ケーブル
MB2198-10
アダプタボード
MB2198-600A5
ヘッダボード
MB2198-6xx
図 3-1 デバッグ環境の構成
5
AN07-00150-3
3.1
ヘッダボードと YQPACK の接続
まず、図 3-2 のようにヘッダボードのインデックス(1 箇所のみ直線的に欠けた角)と
YQPACK のインデックス(1 箇所のみ直線的に欠けた角)の位置を合わせて、図 3-3 のよ
うに YQPACK のケースを使用してヘッダボードと YQPACK を接続してください。
ヘッダボードのインデックス
YQPACK のインデックス
図 3-2 ヘッダボードと YQPACK のインデックス
図 3-3 ヘッダボードと YQPACK の接続
6
AN07-00150-3
3.2
NQPACK とヘッダボードの接続
次に、図3-4のようにユーザシステム上に実装されているNQPACKのインデックス(1
箇所のみ直線的に欠けた角)の示す1番ピンの位置とヘッダボードのインデックスの位置
を合わせて差し込んでください。図3-5のようにヘッダボード上の4 箇所のネジ穴に付属
のワッシャを挟んでヘッダボード固定用ネジを入れ、対角に4 箇所のネジを締めてくだ
さい。中心のネジ穴は使用しないでください。ネジを締める際は、NQPACK 添付の専
用ドライバーを使用して、順次均等に締めてください。締め過ぎると接触不良の原因と
なりますのでご注意ください。
NQPACK のインデックス
ヘッダボードのインデックス
図 3-4 NQPACK とヘッダボードのインデックス
図 3-5 NQPACK とヘッダボードの接続
7
AN07-00150-3
3.3
ヘッダボードとアダプタボードの接続
図3-6のようにNQPACK 部に無理な力を加えないように注意しながら、アダプタボー
ドをヘッダボードに接続してください。逆向き接続を防止するようにソケットが配置さ
れていますので、正しい方向にのみ接続できます。
アダプタボード
ヘッダボード
YQPACK/NQPACK
図 3-6 ヘッダボードとアダプタボードの接続
3.4
アダプタボードとエミュレータ本体、パソコンの接続
図 3-7 のように DSU4 ケーブル(MB2198-10)にてアダプタボードとエミュレータ本
体(MB2198-01)を接続し、USB ケーブルにてパソコンとエミュレータ本体を接続して
ください。
パソコン
エミュレータ本体(MB2198-01)
DSU4 ケーブル(MB2198-10)
アダプタボード
図 3-7 アダプタボードとエミュレータ本体、パソコンの接続
8
AN07-00150-3
4
アダプタボードの設定一覧
アダプタボードにはジャンパピン、スイッチが設置されており、評価対象製品および使用
条件に合わせてそれぞれの設定を行う必要があります。表 4.1 に各製品および使用条件に応
じた設定を説明したページを示します。また、その際、使用するヘッダボードの型格を括弧
内に示します。
表 4.1 各製品と使用条件に応じた設定のページとヘッダボード型格の一覧
評価対象製品
MB91F464A
MB91F46xB
MB91F46xC
MB91F46xD
MB91F469G
MB91F465K
MB91F467R
5V 単一電源で使用
外部バスを 3.3V で使用
その他の I/O を 5V で使用
11 ページ参照
-
(MB2198-606)
3V 単一電源で使用
13 ページ参照
(MB2198-606)
11 ページ参照
12 ページ参照
13 ページ参照
(MB2198-604B)
(MB2198-634B)
(MB2198-604B)
11 ページ参照
-
(MB2198-607)
13 ページ参照
(MB2198-607)
11 ページ参照
12 ページ参照
13 ページ参照
(MB2198-605)
(MB2198-635)
(MB2198-605)
11 ページ参照
12 ページ参照
13 ページ参照
(MB2198-608)
(MB2198-638)
(MB2198-608)
11 ページ参照
-
(MB2198-609)
-
-
13 ページ参照
(MB2198-609)
13 ページ参照
(MB2198-601)
※MB91461, MB91F463N, MB91F467M は MB2198-600A5 ではサポートされておりません。
9
AN07-00150-3
5
アダプタボードのジャンパ、スイッチ設定
5.1
5V 単一電源で使用する場合のジャンパおよびスイッチ設定
5V 単一電源で使用する場合のジャンパおよびスイッチ設定の配置図を図 5-1 に示します。
(アダプタボード電源供給は AC アダプタによる供給)
評価対象製品が MB9F46xB/46xC/467R で NMI を使用する場合、OFF にしてください。
図 5-1 5V 単一電源で使用する場合のジャンパ及びスイッチ設定配置図
10
AN07-00150-3
5.2
外部バス 3.3V、I/O を 5V で使用する場合のジャンパおよびスイッチ設定
外部バスを 3.3V、その他の I/O を 5V で使用する場合のジャンパおよびスイッチ設定の
配置図を図 5-2 に示します。(アダプタボード電源供給は AC アダプタによる供給)
評価対象製品が MB9F46xB/46xC/467R で NMI を使用する場合、OFF にしてください。
図 5-2 外部バスを 3.3V、その他の I/O を 5V で使用する場合のジャンパ及びスイッチ設定配置図
11
AN07-00150-3
5.3
3V 単一電源で使用する場合のジャンパおよびスイッチ設定
3V 単一電源で使用する場合のジャンパおよびスイッチ設定の配置図を図 5-3 に示します。
(アダプタボード電源供給は AC アダプタによる供給)
評価対象製品が MB91F467R 以外の場合、ON にしてください。
評価対象製品が MB9F46xB/46xC/467R で NMI を使用する場合、OFF にしてください。
図 5-3 3V 単一電源で使用する場合のジャンパ及びスイッチ設定配置図
12
AN07-00150-3
6
アダプタボードのジャンパとスイッチの仕様
表 6-1 にアダプタボードのジャンパ仕様を示します。網掛けは、初期設定(出荷時)を示
します。
表 6-1 ジャンパ仕様
ジャンパ
J601
(AVCC5)
設定
1-2, 3-4
2-3, 4-5
1-2, 4-5
J602
(AVCC3)
J603
(VCC3C)
J604
(VDD5)
J605
(VDD3)
J606
1-2, 3-4
2-3, 4-5
1-2, 4-5
オープン
クローズ
1-2
2-3
2-4
内容
3 VのA/Dコンバータはユーザシステムから電源が供給され、5VのA/DコンバータはVDD5
から電源が供給されます。
5VのA/Dコンバータはユーザシステムから電源が供給され、3VのA/DコンバータはVDD3
から電源が供給されます。
ユーザシステムからの電源供給を行わず、5VのA/DコンバータはVDD5から、3VのA/Dコ
ンバータはVDD3から電源が供給されます。
3 VのA/Dコンバータ使用時、AVRH3はユーザーシステムから電源が供給されます。
5 VのA/Dコンバータ使用時、AVRH5はユーザーシステムから電源が供給されます。
A/Dコンバータを使用しない時、AVRH5はVDD5に、AVRH3はVDD3に接続されます。
VCC3C はブロックキャパシタ (C604) に接続されます。
VCC3C はVDD3 に接続されます。
VDD5 はDC/DC コンバータの5V 出力より電源が供給されます。
VDD5 はユーザシステムのVDD5 より電源が供給されます。
VDD3 はDC/DC コンバータの3V 出力より電源が供給されます。
J300 (X0)
1-2
2-3
1-2
DC/DC コンバータの電源を外部アダプタ電源より供給します。
DC/DC コンバータの電源はユーザシステムのVDD5 より電源が供給されます。
MB91V460のX0端子とアダプタボード上の4MHz水晶振動子を接続します。
J301 (X1)
2-3
1-2
MB91V460のX0端子はユーザシステム側に接続されます。
MB91V460のX1端子とアダプタボード上の4MHz水晶振動子を接続します。
2-3
1-2
MB91V460のX1端子はユーザシステム側に接続されます。
MB91V460のブートローダUARTのSIN(UART0)は、ヘッダボードのブートローダ
UARTにより制御されます。
MB91V460のSIN0は、ヘッダボードのSIN0に接続しています。
MB91V460のブートローダUARTのSOT(UART0)は、ヘッダボードのブートローダ
UARTにより制御されます。
MB91V460のSOT0は、ヘッダボードのSOT0に接続しています。
RSTIN# 信号への影響はありません。
RESTIN# を起動します。
J304(SIN0
SIN)
J305(SIN0
SOT)
J308
(RSTIN#)
2-3
1-2
2-3
オープン
クローズ (GND)
13
AN07-00150-3
表 6-2 から表 6-21 にアダプタボードのスイッチ仕様を示します。網掛けは、初期設定(出
荷時)を示します。
表 6-2 S300-1 ALARM_SEL
スイッチ
設定
S300-1
ON (GND)
新アラームコンパレータ
(ALARM_SEL)
OFF (VDD5)
前アラームコンパレータ
表 6-3
内容
S300-2 A/D コンバータ選択
スイッチ
設定
S300-2
ON (GND)
3 V A/D コンバータを選択します。
(ADC_SEL)
OFF (VDD5)
5 V A/D コンバータを選択します。
表 6-4
内容
S300_3 Hardware-Watchdog Kill
スイッチ
設定
S300-3
ON (GND)
ハードウェア用のウォッチドッグを有効にします。
(HWWDG_KILL)
OFF (VDD5)
ハードウェア用のウォッチドッグを無効にします。
表 6-5
内容
S300-4 FIX_EN#
スイッチ
設定
内容
S300-4
ON (GND)
固定モード/ リセットベクタを有効にします。
(FIX_EN# )
OFF (VDD5)
固定モード/ リセットベクタを無効にします。
表 6-6 S300-5 SRAM_SF#
スイッチ
設定
S300-5
ON (GND)
(SRAM_SF# )
OFF (VDD5)
内容
Flash モード
SRAM モード
14
AN07-00150-3
表 6-7
S300-6 CSV_KILL
スイッチ
設定
S300-6
ON (GND)
クロックスーパバイザを有効にします。
(CSV_KILL )
OFF (VDD5)
クロックスーパバイザを無効にします。
表 6-8
内容
S300-7 FSC_DISABLE
スイッチ
設定
S300-7
ON (GND)
フラッシュのセキュリティを有効にします。
(FSC_DISABLE )
OFF (VDD5)
フラッシュのセキュリティを無効にします。
表 6-9
内容
S300-8 組込みデバッグユニット
スイッチ
設定
S300-8
ON (GND)
組込みデバッグのブレークが有効です。
(EDSU_BREAK# )
OFF (VDD5)
組込みデバッグのブレークが無効です。
表 6-10
内容
S300-9 F-Bus RAM / Flash を選択
スイッチ
設定
S300-9
ON (GND)
(RAM/Flash を選択)
OFF (VDD5)
表 6-11
スイッチ
設定
S300-10
ON (VDD5)
(NMI# )
OFF
内容
RAM ( アドレス範囲: 0x40000 … 0x23FFFF)
Flash
S300-10 NMI#
内容
NMI端子が無効になります ( プルアップ)。
NMI端子はユーザシステム側に接続されます。
15
AN07-00150-3
表 6-12
S301-1 INIT#_T - RSTIN#
スイッチ
設定
内容
S301-1
ON
ユーザシステムのINIT#_TとDSU4のRSTIN#を接続します。
(INIT#_T - RSTIN#)
OFF
ユーザシステムのINIT#_TとDSU4のRSTIN#を接続しません。
表 6-13
S301-2 EMRAM
スイッチ
設定
S301-2
ON
EMRAM をGND と接続します。
(EMRAM)
OFF
EMRAM を拡張アダプタにより制御します。
表 6-14
内容
S301-3 INIT_V460# - INIT_DSU#
スイッチ
設定
内容
S301-3
ON
DSU4 INIT# とMB91V460 のINIT# を接続します。
(INIT#_DSU
OFF
DSU4 INIT# とMB91V460 のINIT# を接続しません。
-INIT#_V460 )
表 6-15
S301-4 DSU4 RSTIN# - INIT#_V460
スイッチ
設定
内容
S301-4
ON
DSU4 RSTIN# とMB91V460 の INIT# を接続します。
(DSU4 RSTIN# -
OFF
DSU4 RSTIN# とMB91V460 の INIT# を接続しません。
INIT#_V460 )
表 6-16
S301-5 DSU4 RSTIN# - TRST #
スイッチ
設定
内容
S301-5
ON
DSU4 RSTIN# とMB91V460 の TRST# を接続します。
(DSU4 RSTIN# -
OFF
DSU4 RSTIN# とMB91V460 のTRST# を接続しません。
TRST# )
16
AN07-00150-3
表 6-17
S301-6 DSU4 ICD0 プルダウン
スイッチ
設定
S301-6(DSU4 ICD0 )
ON
DSU4 ICD0 信号をプルダウンします。
OFF
DSU4 ICD0 信号をプルダウンしません。
表 6-18
内容
S301-7 DSU4 ICD1 プルダウン
スイッチ
設定
S301-7
ON
DSU4 ICD1 信号をプルダウンします。
(DSU4 ICD1 )
OFF
DSU4 ICD1 信号をプルダウンしません。
表 6-19
内容
S301-8 DSU4 ICD2 プルダウン
スイッチ
設定
S301-8
ON
DSU4 ICD2 信号をプルダウンします。
(DSU4 ICD2 )
OFF
DSU4 ICD2 信号をプルダウンしません。
表 6-20
内容
S301-9 DSU4 ICD3 プルダウン
スイッチ
設定
S301-9
ON
DSU4 ICD3 信号をプルダウンします。
(DSU4 ICD3 )
OFF
DSU4 ICD3 信号をプルダウンしません。
表 6-21
内容
S301-10 DSU4 BREAK プルダウン
スイッチ
設定
内容
S301-10
ON
DSU4 BREAK 信号をプルダウンします。
(DSU4 BREAK )
OFF
DSU4 BREAK 信号をプルダウンしません。
17
AN07-00150-3
7
アダプタボードのテストポイント
表 7-1 にアダプタボードのテストポイント機能を示します。
表 7-1 アダプタボードのテストポイント機能
テストポイント
機能
TP300
RDY#
TP301
MCLKO
J309
テストポイント WDRESET#
J310
テストポイント MD0
J311
テストポイント MD1
J312
テストポイント MD2
J609
テストポイント GND
J610
テストポイント VDD3
J611
テストポイント VDD5
18
AN07-00150-3
Boot ROM 搭載品におけるデバッグ時の注意事項について
8
Boot ROM を搭載した MB91460 シリーズのデバッグ環境を使用する際の注意事項につい
て説明します。
8.1
Boot ROM 搭載品におけるベクタ設定について
Boot ROM を搭載している MB91460 シリーズは Fixed Reset/Mode Vector であるので、以
下のようなベクタ設定が必要になります。以下は、main.c でベクタ設定をした例です。Boot
ROM の中でセキュリティベクタ(144 番)がチェックされ、これが 0xFFFFFFFF であると、0xF4000 か
らのユーザプログラムに処理が移ります。この場合、ユーザプログラムのスタート位置は、0xF4000
に配置する必要があります。
・main.c
: ベクタ設定をしているファイル
ファイルの内容
#pragma intvect 0xBFF8
0
/* (fixed) reset vector */
#pragma intvect 0x06000000
1
/* (fixed) Mode Byte */
#pragma intvect 0xFFFFFFFF
144
/* Boot Sec. Vector (MB91V460A)
・ユーザプログラムのスタート位置を 0xF4000 にする方法
以下に設定例を示します。(1)のようにスタートプログラムのセクション設定をし、(2)のよ
うにセクションの開始アドレスを指定して、コンパイルしてください。
(1) スタートプログラムのセクション設定
startup.asm
: ベクタ設定をしているファイル
ファイルの内容
.section CODE_START,
__start:
19
code, align=4
AN07-00150-3
(2) セクションの開始アドレス設定
まず、以下のように「プロジェクトの設定」ウィンドウを開きます。
次に「リンカ」タブを選択し、カテゴリを「配置/結合」にして「セクションの設定」を
クリックしてください。
クリック
20
AN07-00150-3
「ROM/RAM 領域名」を「アドレスで指定」にし、「セクション名」にはスタートプログ
ラムのセクション名「CODE_START」(例)を、
「アドレス」には「0xF4000」を入力してくだ
さい。「内容種別」は「code」にして、「設定」ボタンをクリックしてください。設定される
と以下のような表示になりますので、「OK」ボタンをクリックしてください。
21
AN07-00150-3
0x140000 番地以降を使用する方法について
9
MB91V460 で使用できる内部エミュレーションメモリのデフォルト設定は 0x13FFFF 番地
までとなっています。0x140000 番地以降を使用する場合は、以下の設定を行ってください。
9.1
0x140000 番地以降を使用するための設定
(1) 付属の「AN07-00150-03.zip」を任意のフォルダに解凍してください。
(2) 下表を参考に対象製品と同じ Flash メモリサイズのファイルを以下の手順で設定して
ください。
Flash メモリサイズ
型格
設定に必要なファイル
288kB
MB91F463
MB91F463.prc
MB91F463_reset.prc
416kB
MB91F464
MB91F464.prc
MB91F464_reset.prc
544kB
MB91F465
MB91F465.prc
MB91F465_reset.prc
1088kB
MB91F467
MB91F467.prc
MB91F467_reset.prc
2112kB
MB91F469
MB91F469.prc
MB91F469_reset.prc
(3) Softune のメニューから[表示]-[カスタマイズバー]から[表示]を有効にしてください。
もし、カスタマイズバーが表示されない場合は、Softune のインストール CD でカスタ
マイズバー機能を追加でインストールしてください。
(4) Softune で評価対象のワークスペースファイルを開いてください。
デバッガ起動前に[セットアップウィザード]画面にて[次へ]ボタンでメニューを進め、
[バッチファイル指定]画面で、[参照]ボタンを押してください。
[プロシジャファイルを開く]画面で対象製品の「MB91F46x.prc」を選択し、
[セットアップウィザード]を完了してください。
22
AN07-00150-3
(5) Softune のメニューから[デバッグ]-[デバッグ開始]で、デバッガを起動してください。
(6) Softune のメニューから[表示]-[カスタマイズバー]-[設定]を選択してください。
(7) [カスタマイズバーの設定]画面の[エントリ]横の[...]ボタンを押してください。
[ファイルを開く]のメニューで対象製品の「MB91F46x_reset.prc」を選択してください。
[追加]ボタンを押し、[閉じる]を押してください。
23
AN07-00150-3
(8) 以上の設定で金槌マークのアイコンの 1 番が有効になります。以降、このボタンをリ
セットボタンとして使用し、従来のリセットボタンは使用しないでください。
このリセットボタンは使用しないでください。
本設定後のリセットボタン
以上
24