فهرست بررسی هیسیلون

مهاجرت موفقيت تو با يه نقشه ساختماني شروع ميشه این فهرست بررسی مهاجرت نگاشت جاده سطح بالا را فراهم می کند

...

مهاجرت موفقيت تو با يه نقشه ساختماني شروع ميشه این فهرست بررسی مهاجرت نقشه سطح بالایی برای کل پروژه شما را ارائه می دهد، و اطمینان می دهد که یک تبدیل نرم و اجرای برتری را ارائه می دهد.

سفر مهاجرت کامل شما به چهار مرحله کليد شکسته شده این لیست بررسی برای رسیدن به اجرای اوج با سخت افزار جدید هی سیلیکان را دنبال کنید.

  1. فاز 1: تحلیل پیش مهیگری
    • هدف: تفاوت های سخت افزار نقشه را آماده سازی و زنجیره ابزار را آماده کنید.
  2. مرحله ۲:
    • هدف: بارگذار کنندۀ راه اندازی و هسته برای دستگاه هدف تطبیق کنید.
  3. فاز ۳: گردانندۀ و مهاجرت میانجی
    • هدف: راننده های پورتی و انتقال به محله پردازش رسانه های HiSilicon (MPP).
  4. مرحله : اعتبارسنجی و مذاهبی
    • هدف: برنامه ها را دوباره دریافت کنید و آزمایش سیستمی را برای اعتبار کردن مهاجرت انجام دهید.

حذف کلید

  • مهاجرت هیسیلیکان خود را در چهار قدم برنامه ریزی کنید: تحلیل، سیستم های سطح پایین بندر، راننده ها را حرکت دهید و همه چیز را آزمایش کنید.
  • قبل از اینکه شروع کنید تفاوت های سخت افزار را بررسی کنید و ابزار خود را بررسی کنید. این کار کمک می کند که بعداً از مشکلات دوری کنیم .
  • مطمئن شو که راه اندازی و کرنل روی سخت افزار جدید های سیلیکان کار کنه این اجازه می دهد دستگاه شما به درستی شروع بشه.
  • به روزرسانی گرداننده برای سخت افزارتان و استفاده کنیدنرم افزار ویژه های سیلونبراي رسانه ها. این باعث میشه ویژگی های دستگاهت خوب کار کنه
  • درخواست های خود را آزمایش کنید و سریعتر کنید. اين تو رو اطمينان ميکنهدستگاه HiSilicon جدیدبه طور آروم و قابل اعتماد است.

فیز 1:

این مرحله اولیه پایه تمام پروژه مهاجرت شماست. یک آنالیز پیش از مهاجرت کامل جلوگیری از راه های آینده مانع می شود و یک انتقال نرم را اطمینان می دهد. شما توانایی های سخت افزار را نقشه می کنید و محیط توسعه خود را برای سکوی جدید هیسیلیکان آماده می کنید.

نگهبان هاردار

اولین قدم شما اینه که تفاوت های معماری بین سکوی منبع شما و هدف هی سیلیکون این تحلیل به شما کمک می کند تا پیش بینی چالش های پرداخت. ایجاد یک جدول مقایسه با منابع نگاشت. این فقرۀ فهرست بررسی برای یک مهاجرت موفق ضروری است.

براي مهاجرت از يک عمومي عمومي ARM کورتکس-A7 نقشه ات ممکنه اينطور باشه

ویژهبلوک متن) مثال (هدف هیسیلونیادداشتهای جابجایی
پردازشگاهیکورتکس-A7کورتکس-A7به روزرسانی پیکربندی هسته برای SMP.
GPUNameمیلی-400 MP1میلی-450 MP4نیاز به گرداننده های گرافیکی جدید و یکپارچه MPP است.
حافظهDDR3 @ 533 مگ هوزDDR4 @ ۸۰۰ مگ هوززمان های کنترل کننده حافظه در U-Boot را تنظیم کنید.
منطقه2x UART ، 1x I2C ، 1x SPI ، 1x۴x UART ، ۲x I2C ، ۲x SPI.گره های درخت دستگاه نقشه به آدرسهای پوری جدید.

. . . . . . .

بعد ، شما باید رسمی زیرک ترکیب ابزار و کیت توسعه نرم افزار (SDK) را تنظیم کنید. این محیط برای ساختن راه اندازی، هسته و کاربردهای برای سخت افزار جدید شما ضروری است.

  1. نصب جمع کننده:

    # باز کردن زنجیره ابزار ARM رو باز کنید
    Tar -xzf دست- himix200-linux.tz
    # افزودن کامپایلر به PATH سیستم شما
    صادرات PATH=$(pwd)/arm-himix200-linux/bin:$PATH
    
  2. اس ديکي رو باز کنيد

    # بسته SDK اصلی رو باز کنید
    Tar -xzf Hi35XX_SDK_ V2.0.X.tgz
    

نژاد عمومي نشستن

یک برپایی راهنمای شبکه با استفاده از TFTP و NFS توسعه با اجازه دادن تغییرات بدون روشن کردن دستگاه شتاب می کند. این بخش کلیدی از فهرست بررسی مهاجرین برای بهبود کاربردی است.

رایانه ی توسعه خود را به عنوان یک کارساز تنظیم کنید:

  1. نصب کارسازان:در اوبونتو، بسته های لازم را نصب کنید.
    Sudo apt-get install nfs-kernel-server tftpd-hpa.
    
  2. پیکربندی NFS:ایجاد یک فهرست راهنمای مشترک و ادای مجوزها.
    Sudo mkdir /home/${USER}/nfs
    سودو چامود 777 / home/$ {USER}/nfs
    
  3. صادرات فهرست راهنما:ویرایش/Etc/صادرات هاو اين خط رو اضافه کنيد و سرويس رو دوباره شروع کنيد
    /Home/<user>/nfs *(rw,sync,no_root_squash)
    

    بازآغازی خدمت Sudo nfs-kernel-server

راهنمایی: اتمام زمان TFTP اگر با اتمام های TFTP مواجه می شوید ، فقط مقدار اتمام زمان را افزایش نکنید. در عوض، از یک شبکه شبکه ای مثل Wireshark استفاده کنید تا بررسی کنید که آیا صفحه ی HSilicon در حال فرستادن ACK ها است. همچنین، تایید کنین قوانین دیوار فایروال شما رو مسدود نمیکنه یک پیاده سازی زمانی نادرست ARM همچنین می تواند باعث شکست خوردن معاملات شبکه، تاثیر بر روی اجرای کلی.این گام بررسی پیش از مهاجرت اطمینان می دهد که سخت افزار و نرم افزار شما را برای اجرای بهینه کار می کند. مهاجرت به يه سکوي جديد کورتکس-A7 نياز به اين سطح از جزئيات داره

. . .

خفه

شما در حال حاضر به مرحله اصلی مهاجرت وارد می شوید. هدف قرارداد سیستم سطح پایین این است که ساختن نرم افزار بنیادی راه اندازی و کرنل راه اندازی روی سخت افزار جدید . موفقیت در این مرحله مطمئن می شود که دستگاه شما می تواند راه اندازی و تشخیص دهنده های اصلی آن را تشخیص دهد. این یک مرحله حیاتی در لیست بررسی مهاجرته

ارتباطی

اولین وظیفه شما در پوست سیستم سطح پایین پیکربندی راهنمای دس U-Boot است. شما باید به خاطر ذهن و ذخیره ی تخته های جدید خود را تطبیق کنید. این شامل تنظیم زمانی های کنترل کننده حافظه برای نوع DDR جدید و تعریف نقشه اطمینان فلش است.

برای مثال ، شما تعریف می کنید که چگونه ذخیره eMMC برای راه اندازی، هسته و سیستم پرونده های ریشه تقسیم می شود. این طرح بندی را مستقیما در متغیرهای محیطی U-Boot کنترل می کنید.

طرح بندی ازBlkdevpartsپارامتر درونیهامتغیر. این کار به هسته می گوید چگونه ذخیره سازماندهی می شود.

بوتوارگs = کانسول =ttyAMA0 ۱۱۲۲۰۰ ریشه=/dev/mmcblk0p4 rootfstype=ext4 roottwait blkdevparts=m عکس العمل مفید: 1M( ضربه ی سرعت)

در این مثال برای یک دستگاه ARM ، افرازهای جداگانه ایجاد می کنیدفزون، .هسته، وها. باید اطمینان داشته باشید که این تعریف ها مطابقت داشته باشند که برای جلوگیری از خرابی های راه اندازی واقعی خود.

کِرِنِل نفوذ و ضربت

بعد، شما هسته لینوکس را با سیستم های سیستم-on-چیپ (SoC) سازگار خواهید کرد. مهمترین بخش این فرایند تغییر پروندۀ متن درخت دستگاه (DTS) است. DTS یک ساختار داده است که سخت افزار را به هسته توصیف می کند، به این گفته که کدام راننده باید بار کنند و چه منابع ( مانند آدرس های حافظه و قطع) استفاده می کنند.

باید به درستی پیکربندی ساعت و گره های کنترل کننده در DTS. این اطمینان می دهد که همه ی پوریفر ها سیگنال های درستی برای عملیات درستی دریافت کنند. برای یک سطح هیسیلون، می توانید فرکانس های خاص ساعت را برای بخش های مختلف یک محور تنظیم کنید. بعنوان مثال میتوانیدیک ساعت 24 MHz برای رابط SPI NOR در حالی که یک ساعت 30 MHz به رابط SPI NAND انتخاب میکنید همه در یک کنترلر حافظه فلش. این کنترل زیبا کلید به اجرای مثبت است.

برای مطمئن شدن محدوده های شما به درستی اولیه کنند ، پیکربندی DTS شما برای سطح HiSilicon باید شامل:

ارتفاع ارتفاع آرم

مرحله نهایی در این فاز حساب کردن تفاوت ها در معماری ARM است. از يه ارتفاع ساده ي کمتر کورتکس-A7 به يه چند قله يا بزرگ حرکت ميکنه LLITTLE HiSilicon SoC فرصتهای جدیدی برای بهینه سازی عملی ارائه می دهد و همچنین به پیکربندی نرم افزار دقیق نیاز دارد. موفقیت مهاجرت شما بستگی داره که چقدر این پیچیده های جدید رو مدیریت می کنید

اگه "هيسيلينکون" جديدت از يه بزرگ استفاده کنه. معماری LLITTLE ( ترکیب هسته های قدرتمند "بزرگ" ARM با هسته های "کوچک" کارآم)شما باید برنامه ریز هسته را پیکربندی کنید. این برنامه ساز تصمیم می گیرد کدام وظیفه ها روی چه هسته هایی برای تعادل عملکرد و مصرف قدرت.

  • حالت IKS) سودهنده کنندۀ این کرنل (: این حالت مجموعه ای از هسته های مجازی را ارائه می دهد. وظیفه های بین هسته های بزرگ و کوچک بر اساس بار سیستم حرکت می کند.
  • حالت HMP) مدیر فرایند چندگانه (: این حالت به صورت جداگانه های بزرگ و کوچک درمان می کند. برنامه نویسنده وظایف های سبک را به کوچک ها تصویر میکند و تقاضای وظیفه های بزرگ را برای بیشتر کارایی میکند .سي .

فراتر از برنامه ريزي، مهاجرت به يه معماري جديد مثلاً از ARMv7 (در بسیاری از کورتکس-A7 SoCs) تا ARMv8، چالش های دیگری را ارائه می دهد. این لیست بررسی به شما کمک می کند تا برای آن ها آماده کنید .

  • به روزرسانی کتابخانه ها و ابزارها: شاید لازم است که کتابخانه های نرم افزارتان را به نسخه های جدیدتر که پشتیبانی معماری ARM 64- بیتی دارند ارتقا دهید.
  • حمایت از حزب سوم محدوده: ممکن است برخی از ابزارهای موجود شما یک نسخه سازگار با ARM نداشته باشند. شايد لازم باشه که با فروشنده ها کار کني.
  • مهاجرت خدمات محتویات: اگر از داکر استفاده کنید، شما باید تصاویر های چند ساختاری ایجاد کنید که می تواند روی سلول های قدیمی و جدید شما اجرا شود.

هیئت ۳

با استفاده از دستگاه شما، حالا می توانید روی ویژگی هاش تمرکز کنید. این مرحله مهاجرت شامل قرار دادن نرم افزاری که شما را کنترل می کندمحدوده های سخت افزاریو يکسان سازي ظرف هاي قدرتمند هيسيکان. هدف شما اینه که ویژگی های منحصر به فرد محصولت رو روی سکوی جدید آرم ببرید

آزمایشگاهی

راننده های دوری پل های نرم افزار بین هستن لینوکس و سخت افزار فیزیکی مانند I2Cحسگرهااسپي فلش و بندرهاي . مهاجرت شما از شما ميخواد که اين راننده ها رو براي هيسيکون جديد بسیاری از راننده های ARM عمومی می توانند با تغییرات کوچک کار کنند، اما بقیه به روزرسانی قابل توجهی نیاز دارند.

اولين قدمت اينه که راننده ها رو از سکوي قديمي اداره ي آرم بررسي کني. شما باید شناسایی کنید که کدام راننده های سفارشی هستند و کدام استاندارد هستند. هیسیلیکان SDK اغلب راننده های آماده برای استفاده از محدوده های داخلی خود را فراهم می کند. شما باید با استفاده از این راننده های رسمی برای بهترین ثبات و اجرای اولویت کنید.

برای راننده های سفارشی، باید کد منبع را تغییر دهید. معمولاً شامل به روزرسانی آدرس I/O از حافظه و قطع اعداد برای تطبیق کردن سخت افزار جدید HiSilicon است. این مقادیر جدید را در صفحه داده های SoC پیدا می کنید.

پرو راهنما: استفادهنگاشت گرداندبرای گرداننده های پاک تر لینوکسنگاشت گرداندAPI به شما کمک می کند که راننده های ARM را تمیز تر و قابل حمل تری ایجاد کنید. ثبت و نوشته های مستقیم رو از بین میبره اين باعث ميشه کد راننده ي شما راحت تر نگه داشته باشد و با سخت افزار آينده سازي کنيد استفادهنگاشت گرداندمهاجرت راننده شما را ساده می سازد.

برای مثال، می توانید رشته سازی درخت دستگاه راننده را به روز رسانید و تعریف های ثبت کنید.

// درخت دستگاه راننده قدیمی تطابق میکنه
استراتژ قرارداد ایستایی of_device_id my_sensor_of_match[] = {
. سازگار = فروشنده ، قدیم-soc-i2c} ،
......
...

// درخت دستگاه راننده جدید با هیسیلیکان تطابق می کند.
استراتژ قرارداد ایستایی of_device_id my_sensor_of_match[] = {
. سازگار = "hisilicon,hi35xx-i2c"} /
......
...

این تغییر به هسته می گوید هنگامی که گره I2C متناظر HiSilicon I2C را در درخت دستگاه پیدا می کند، را بار کند. این کار راننده ی دقت برای یک سیستم موفقیت ARM ضروری است.

اعتبار به هیئلون

یک مزیت بزرگ از استفاده از یک هیسیکان سوسیک وقف شدهبلوک پردازش رسانه(امپی) MPP یک کتابخانه نرم افزار است که از شتاب دهنده های سخت افزاری برای کد ویدئویی، رمزگشایی استفاده می کند، و پردازش تصوير این بخش مهاجرین برای هر محصول چند رسانی است. حرکت از یک کتابخانه ی عمومی مثل FFmpeg به MPP هی سیلیکان قفل میکنه

MPP API، برنامه ی شما را کنترل مستقیم بر روی موتور ویدئویی قدرتمند در ARM SoC می دهد. این انتقال به شما اجازه می دهد پردازش سنگین را از مرکز CPU اصلی ARM خاموش کنید و آنها را برای تکلیف دیگر آزاد کنید. نتیجه مصرف قدرت پایین تر و اجرای کلی سیستم بیشتر است.

مزایای عملکرد مهم است. به عنوان مثال، HSilicon Hi3559A ARM SoC H.H. نتایج کدگذاری 265 با استفاده از شتاب دهنده ی سخت افزار MPP آن.

  • این رمزگشایی در زمان واقعی 8K (7680 x 4320) در ۳۰ فریم در ثانیه (fps) به دست می آید.
  • می تواند به طور همزمان یک جریان جداگانهٔ 1080p در 30 fps رمزگذاری کند.
  • همچنین عکس های طراحی بالا در 2 fps حتی هنگام کد ویدیو را پشتیبانی می کند.

این توانایی ها تقریبا غیر ممکن است با رمزگشایی تنها بر روی پردازنده ARM مشابه به دست آورد. یکپارچه سازی MPP HSilicon کلید ساخت یک محصول رقابت است.

فیلیستم

قدم نهایی در این فاز آماده کردن سیستم پرونده ریشه است. سیستم پرونده ریشه حاوی تمام کتابخانه ها ، کاربردها و پرونده های پیکربندی که محصول شما نیاز به اجرای است. تو اين سيستم پرونده رو توي سازمان توليد مي کني و بعدش اونو به ذخيره ي دستگاه روشن ميکني مثل eMMC یا NAND فلش چیپ

اول ، باید یک نوع سیستم پرونده را انتخاب کنید. برای کارتهای eMMC یا SDExt 4انتخاب قابل اعتماده برای فلش خام NAND ، یک سیستم پرونده ی آگاهی مثل فلشUBIFSبهتره به خاطر اينکه لباس لباس و خرابي ها رو مديريت ميکنه و زندگي انبار رو گسترش ميده

بعدش، سیستم پرونده رو جمع میکنی. این شامل :

  1. ایجاد یک ساختار فهرست راهنمایی ریشه)/بین، .لیب، ....
  2. کتابخانه ی زیست ابزار ضربه ی کمپایل هاLibc.so) و پیوند پویا (لینکس.) تويلیبراهنمايي
  3. نصب برنامه های جمع شده و هر کتابخانه ی سوم نیاز داری
  4. رونوشت کتابخانه های MPP HSilicon (لیبپی.سو.و غیره) برای مطمئن شدن درخواست شما می تواند به شتاب دهنده های سخت افزار دسترسی پیدا کند.

تکمیل این فقره ی فهرست بررسی دستگاه شما را با یک محیط نرم افزار کاملا عملکردی آماده می کند. این راننده ابتدایی و مهاجرت میانی مرحله برای آزمایش درخواست نهایی و بهینه سازی رو تنظیم می کنه که شما رو به تموم کردن ليست مهاجرت نزديک تر ميکنه

فعالیت ۴ : اعتقاد و مطمئنان

خفه

شما به مرحله نهایی مهاجرتون رسیدید این مرحله روی اعتبار کار شما تمرکز میکنه و باز کردن پتانسیل کامل فعالیت سخت افزار جدید هیسیلون نرم افزار خود را دوباره جمع می کنید، مسیرهای کد بحرانی را بهینه می سازید، و آزمایش های سختی در سراسر سیستم انجام می دهید. موفقیت اینجا مطمئن میشه که محصول شما ثابت، قابل اعتماد و سریعه

تقاضای تغییراتی

اولین وظیفه شما این است که تمام برنامه ها و کتابخانه های سفارشی خود را دوباره آغاز کنید. شما باید از کمپایلر HSilicon استفاده کنید که در مرحله ۱ برپا کرده اید، این گام اطمینان می دهد که نرم افزار شما به طور خاص برای A جدید ساخته می شود. معماری پردازش آرم این بازگشت ابتدایی کاربردهای شما روی دستگاه هدف اجرا میکنه، و مرحله ی تولید نمایش را تعیین می کند.

تصادف نئون

برای رسیدن به نمایش بیشتری، باید موتور ARM NEON رو اهرم کنی NEON یک تمدید معماری SIMD (SIMD Instruction, Multiple Data) برای پردازنده های ARM است. به یک دستورالعمل اجازه می دهد که یک عملیات روی چند قطعه داده به طور همزمان انجام شود. این کار بسیار مؤثر برای تکلیف های چند رسانه و سیگنال است که منجر به یک افزایش عملکرد عظیم است.

شما می توانید تابع عملیات قاضی سی برای استفاده از ARM NEON درونیسیک بازسازی کنید. اين مهاجرت کد شما قدرت واقعي "هيسيلينکن ARM" رو باز ميکنه

  • تابع C استاندارد:این نسخه یک پیکسل در یک زمان پردازش می کند.
    هیئت ۸( uint8_t * dst, uint8_t const * src1, uint8_t const * src2, پهنای ، در ارتفاع )
    ..."
    نمایۀ نخستین = ۰;
    برای( int y = 0; y < ارتفاع; y )
    ..."
    برای( int x = ۰; x < عرض; x )
    ..."
    T = src1 [نشانس] src2 [نشانس];
    Dst[ نشانه] = t> 255 ؟ 255: t;
    نمایه ;
    :
    :
    :
    
  • تابع آرایش شده ARM NEON: این نسخۀ ARM ۱۶ تصویردانه) بایت (به یک بار پردازش می کند.در حال پيشرفت نمايش.
    افزودن: uint8_t const * src2, پهنای ، در ارتفاع )
    ..."
    بردار محافظ
    برای( int y = 0; y < ارتفاع; y )
    ..."
    برای( int i = ۰; i < بردارNumberPerRow; i ) (
    ..."
    Uint8x16_t a = vld1q_u8(src1);
    Uint8x16_t b = vld1q_u8(src2);
    Uint8x16_t
    Vst1q_u8( dst,r);
    Src1 = 16;
    Src2 = 16;
    Dst = 16;
    :
    :
    :
    

آزمایش سیستم و بیماری

در نهایت، شما باید آزمایش سیستم مقطعی انجام دهید. اين فراتر از بررسي کردن درخواست اجرا ميشه يا نه شما باید ثبات و اجرای تمام سیستم رو با بار اعتبار کنید آزمایش های استرس را اجرا کنید تا کاربرد پردازش، مصرف حافظهعملکرد حرارتی. این فیلم نهایی در فهرست بررسی مهاجرت شما تأیید می کند که دستگاه ARM شما تمام نیازهای عملکردی و عملکردی رو بررسی میکنه يه مهاجرت موفقي تموم ميشه


شما فهرست بررسی مهاجرت HiSilicon با موفقیت انجام داده اید. این مهاجرت ساختار شده ریسک ها را کاهش می دهد و یک تبدیل لطیف را اطمینان می دهد. شما باید این فهرست بررسی به عنوان یک مدارک زنده برای پروژه های خودتان رفتار کنید. مهاجرت موفقيت هيسيلين رو باز ميکنه شما دسترسي به سخت افزارهاي وقفه ي "هيسيلينکون" براي اجراي بدون هماهنگ دسترسي پيدا مي کنيد این کار منجر به مزایای طولانی مدت می شود.

FAQ

ميتونم از راننده هاي قديميم استفاده کنم؟

بعضی وقتا میتونی از راننده های عمومی استفاده کنی به هر حال، شما باید راننده های رسمی هیسیلیکان رو برای محدوده های اصلی اولویت بدید این بهترین ثبات و عملکرد برای سخت افزار بازوی جدید شما را اطمینان می دهد. راننده های سفارشی نیاز به روزرسانی برای تطبیق نقشه حافظه ی جدید SoC و تکلیف و قطع کردن انتخاب می کنند.

چرا انتقال به "هیسیلیکان" لازمه؟

شما باید به محله پردازش رسانه) MMPP (عبارت دهید تا قفل شتاب سخت افزار باز شود. MPP ویدئو و تصویر را از CPU دست اصلی بازداشت خاموش می کند. این کارساز قابل توجهی را فراهم می کند و مصرف انرژی را کاهش می دهد که برای محصولات رقابت چند رسانه ای حیاتی است.

چالش های اصلی هنگام مهاجرت به معماری 64 بیتی ARM چیست؟

شما باید تمام نرم افزار رو با یک زنجیر ابزار 64 بیتی بازسازی کنید همچنین می توانید به نسخه های 64 بیتی همسازی از کتابخانه های سوم نیاز داشته باشید. مهاجرت خدمات کانتینر لازم است به ایجاد تصاویر چند-ارکتکچی برای پشتیبانی پایگاه دست جدید در حین انتقال.

پرونده درخت دستگاه (DTS) چقدر مهمه؟

درخت دستگاه برای مهاجرت موفق ضروری است. از آن برای توصیف طرح بندی سخت افزار خود به هسته لینوکس استفاده می کنید. پیکربندی درست DTS اطمینان می دهد که سیستم راننده های درست را بار می کند و منابع مناسب برای دستگاه بازوی جدید را انتخاب می کند.

Related Articles