6

TMS320C64x + DSP ile beagleboard sahibim. Bir görüntü işleme beagleboard uygulaması üzerinde çalışıyorum. İşte nasıl olacak:Beagleboard: DSP'ye nasıl veri gönderip alabilirim?

  1. ARM bir görüntüyü bir dosyadan okur ve görüntüyü bir 2B dizisine yerleştirir.
  2. Kol, matrisi DSP'ye gönderir. DSP matrisi alır.
  3. DSP, alınan matristeki görüntü işleme algoritmasını gerçekleştirir (algoritma kodu, yaklaşık 5 MB'lık dinamik olarak ayrılmış bellek kullanır).
  4. DSP işlenen görüntüyü (matris) ARM'ye gönderir. Kol matrisi alır.
  5. Kol, işlenen görüntüyü bir dosyaya kaydeder.

I'v zaten adımlar 1,3,5 kodunu yazılı. 3 + 4 adımlarını (verileri göndererek) yapmanın en kolay yolu nedir? Kod örnekleri kabul edilir.

ARM ve DSP ulaşılabilir ARM üzerinde bellek yığını ayırmaya CMEM çekirdek modülünü kullanın:

cevap

3

kolay yolu paylaşılan hafızayı kullanmaktır. Ardından işaretçiyi DspBios NOTIFY bileşenini kullanarak DSP'ye geçirin.

DSP işleme tabi tutulduktan sonra ARM ile NOTIFY aracılığıyla bildirimde bulunabilirsiniz. Bu şekilde verilerin ARM'den DSP'ye veya tersine kopyalanmasına gerek yoktur. Emin olmanız gereken tek şey, verilerin CMEM bileşeninden gelmesidir. Bu, belleğin bitişik olmasını sağlar (DSP, ARM bellek yöneticisi hakkında bilinmez).

2

Paylaşılan bellek doğru bir yaklaşımdır, ancak nasıl yapılacağını öğrenmek bir acı olabilir. C6Run aracı, sizin için daha kolay hale getirmek için ARM/DSP iletişimini başlatabilir. NOTIFY gerçekten kullanılacak doğru API olsa da, C6Run eski bir API kullanarak CMEM'i kullanır.

Eğer BeagleBoard üzerinde C6Run denemek istiyorsanız

, en kolay yolu instructions on the eLinux wiki for setting up C6Run for the ECE597 course given by Mark Yoder at Rose-Hulman aşağıdaki gereğidir. Bu talimatlar Angstrom demo görüntüsünü çalıştırmaya bağlıdır (2). Donanımın işlevselliğini göstermek için kullanılan kararlı bir sürüm de belgelenmiştir (3).

(2): www.angstrom-distribution.org/demo/beagleboard (3): code.google.com/p/beagleboard/wiki/BeagleBoardDiagnosticsNext

İlgili konular