タグ付けされた質問 「cortex-m」

3
Cortex-MシリーズとCortex-Rシリーズの実際の違いは何ですか?
それは面白いです!明確な記事を検索しましたが、これに関する明確な記事が見つかりませんでした。また、このリンク:ARM Cortex-Rとこのリンク:Cortex-Rシリーズを見つけましたが、明確ではありません。wikiページに書いた: コアは、堅牢なリアルタイム使用を目的としています そして、Cortex-Rのページに書いた: ARMCortex®-Rリアルタイムプロセッサは、信頼性、高可用性、フォールトトレランス、保守性、およびリアルタイム応答が必要な組み込みシステム向けの高性能コンピューティングソリューションを提供します。 そしてこれら: 高性能:高速クロック周波数と組み合わせた高速処理 リアルタイム:処理は、あらゆる場面で厳しいリアルタイム制約を満たします 安全:高いエラー耐性を備えた信頼性の高い信頼性の高いシステム 費用対効果:パフォーマンス、電力、面積に最適な機能 ナンバーワン:たとえば、Cortex-Mの場合、最近NXPは200MhzクロックレートのNXP_LPC4XXXシリーズを作成し、Cortex-Rの場合、これを見ることができます:TMS570LS ARM Cortex™-R4 Microcontrollers、180Mhzクロックレート。 2番目の場合:明らかです。 3番目の場合:明確ではありません!この文はどういう意味ですか?は、Cortex-Mが安全/信頼できないことを意味しますか? 5番目の場合:まあ、それは単なる主張だと思います! このシリーズ(Cortex-R)で働く経験は誰にありますか?それについてあなたはどう思いますか?Cortex-MシリーズとCortex-Rシリーズの深く正確な違いは何ですか?

2
ARM MCUは外部クリスタルよりも高速に動作しますか?
そのため、これまでは単純な8ビットAtmel MCUでしか作業していませんでしたが、開発ボードの回路図では12Mhzのクリスタルしか搭載されていませんが、MCUは最大100MHzで動作します。(デフォルトは80MHzだと思います。楽しみのために一度だけ高くしました。これはコードの簡単な行です。) それはどうやって?たとえば、Atmega328が使用されている水晶の速度で実行されるのはなぜですか?
12 arm  crystal  cortex-m 

4
STM32のエンディアンの問題
arm gcc(CooCox)を使用してSTM32F4discoveryをプログラムしていますが、エンディアンの問題と格闘しています。 SPIを介して24ビットADCでサンプリングしています。3バイトが入ってくるので、MSBを最初に、それらを共用体にロードして、少しでも使いやすくすることを考えました(とにかく希望!)。 typedef union { int32_t spilong; uint8_t spibytes [4]; uint16_t spihalfwords [2];} spidata; spidata analogin0; spi読み取りを使用してデータをanalogin0.spibytes [0]-[2]にロードし、[0]をMSBにしてから、USARTを介して8ビットずつメガボーで吐き出します。問題はありません。 問題は、データを12ビットDACに渡そうとしたときに始まりました。このSPI DACは、MSBで始まる4ビットのプレフィックスとそれに続く12ビットのデータで構成される16ビットワードを必要とします。 最初の試みは、ADCから与えられた2の補数を変換して、analogin0.spihalfwords [0]を0x8000とxor-ingし、結果を下位12ビットにシフトし、算術的にプレフィックスを追加することでした。 analogin0.spibytes [0] = 0xFFおよびanalogin0.spibytes [1] = 0xB5の場合、analogin0.halfwords [0]は0xFFB5ではなく0xB5FFに等しかったことに気付くまで、非常にイライラします。 これに気づいた後、算術演算とハーフワードの使用を停止し、ビット単位のロジックとバイトに固執しました uint16_t temp=0; . . . // work on top 16 bits temp= (uint16_t)(analogin0.spibytes[0])<<8|(uint16_t)(analogin0.spibytes[1]); temp=temp^0x8000; // convert twos complement …
11 c  stm32  cortex-m  gcc 

4
rand()関数とRNG(乱数ジェネレータ)ペリフェラルの違いは何ですか?
STM32F4XXXX MCUのRNG(Random Number Generator)ペリフェラルに不思議です。見て、このリファレンスマニュアル(ページ748)。一方、stdlibライブラリには、同じタスクを実行するrand()関数があります。今私は2つの質問があります: rand()関数とRNG(乱数ジェネレータ)ペリフェラルの違い(利点と欠点)は何ですか? この部分を見てください: これら両方のオプション(特に2番目のオプション)について説明してください。

1
STM32F4ブートの概念とベクターテーブルの再配置
STM32F4マイクロコントローラーの起動プロセスで理解できないことがいくつかあります。 私の理解は次のとおりです。 ARMのCortex-M4のブーツは、スタックポインタの初期化値との割り込みベクタを期待0x00000000 + SCB->VTORに対し、SCB->VTORリセット時にクリアされます。 その場所にはメモリがありません。フラッシュメモリは0x08000000、SRAMはから始まり0x20000000ます。 ブートを可能にするために、µCはフラッシュまたはSRAMメモリ範囲をにマップできます0x00000000。マップされるメモリ範囲は、ブートピンの状態によって定義されます。 私の質問: STM32F4リファレンスマニュアルの69ページで デバイスがSRAMから起動する場合、アプリケーションの初期化コードで、NVIC例外テーブルとオフセットレジスタを使用して、SRAMのベクターテーブルを再配置する必要があります。 ?私の見解では、メモリ領域全体がとにかくエイリアスされているため、これは必要ありません。興味深いことに、これはフラッシュ領域が0x0スペースに再マップされる場合は必要ないようです。 SRAMからの起動の唯一の用途は、開発中のフラッシュの書き込みサイクルを減らすことだと私が考えることができます。µCをリセットから解放する前に、デバッガを使用してプログラムをSRAMに書き込み、そこから起動します。ただし、デバッガーにアクセスできるので、どこから起動するかについて制約はありません。では、なぜこの機能があるのでしょうか。 ブート位置がピンから派生していることは、(少なくとも私の意見では)この機能が開発中ではなく最終的な操作で使用されることを示しています。そして最後の操作では、SRAMは起動時にクリアされます。したがって、SRAMから起動しても意味がありません。

3
802.15.4 / 6LoWPANスタックを備えたCortex M4のRTOS
モノのインターネットプロジェクトで使用するオペレーティングシステムを評価していますが、次に進むための最良の方法がわかりません。 32k RAMとCC2520 802.15.4トランシーバーを備えたTM4C123GH6PM MCUを使用していますが、システムがすでにそれらのドライバーを提供しているとしたらすばらしいでしょう。 システムは、ドットマトリックス画面を描画し、ユーザー入力に反応する1つの(インタラクティブな)タスクを実行します。設定とアプリケーションデータをspiフラッシュに保存します。モジュール間でデータを同期し、モジュールからセンサーデータを抽出してゲートウェイに転送し(rplが頭に浮かびます)、またゴシップでOtAファームウェアの更新を配布するために、複数のモジュールのメッシュ(802.15.4に基づく)があります。ファッションのように。同様に、メモリを大量に消費するアプリケーションも実行しています。 これまでのところ、これらのシステムを調べてきました。 RIOT: 長所 優れたハードウェア抽象化 小さな足跡 とても活発で親切なコミュニティ 完全な802.15.4 / 6LoWPANスタック 短所 不安定であり、根本的な変化をまだ受けている まだ競合状態/クラッシュが含まれています ファイルシステムのサポートなし いくつかのネットワークプロトコル Contiki: 長所 成熟したシステム、商用製品で使用 多くの有用なプロトコルを備えた完全な802.15.4 / 6LoWPANスタック ファイルシステムのサポート cc2520サポート 短所 開発が古くなっている 「成長した」コードベース、たくさんのビット腐敗 品質の悪いTiva Cポート 最新のプラットフォームのサポートはほとんどありません 非プリエンプティブスケジューリングはアプリケーションに問題を引き起こす可能性があります FreeRTOS: 長所 少し追加の複雑さ 使いやすく信頼性の高いスケジューラ 多くの製品で使用される成熟したプロジェクト たくさんのポート 短所 ファイルシステムなし ドライバーのハードウェア抽象化なし/ハードウェアドライバーなし ネットワークスタックなし 動的メモリの使用率がやや高い NuttX: 長所 非常に機能が豊富で、ほとんどLinuxのように感じますが、まだ小さいです ファイルシステムのサポート …

1
ARM Cortex MのCPUはフラッシュのセルフプログラミング中に停止しますか?
ほとんどのARM Cortex M MCUは、EEPROMメモリを備えていません。代わりに、プログラムも保持する同じフラッシュメモリに永続データを書き込むことができます。 この消去/書き込みプロセス中のCPUの状態は何ですか? 止まりますか?正常に動作していますか? CPUの動作は、使用する特定のMCUファミリ(STM32、Kinetis Lなど)に依存しますか? (一部の人にとってこれは愚かな質問のように見えるかもしれませんが、マイクロチップのPIC16はフラッシュの自己プログラミング中に最大40msの間CPUを停止します。)
8 arm  cortex-m 
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.