বায়ুতে এআরএম আপগ্রেড করুন


9

আমরা বোর্ডে জিএসএম মডেম সহ একটি এআরএম বোর্ড তৈরি করব।
আমরা বাতাসের উপরে এআরএম ফার্মওয়্যার আপগ্রেড করতে সক্ষম হতে চাই।

এর জন্য কি কোনও ভাল, নির্ভরযোগ্য, মুক্ত উত্স সমাধান রয়েছে?
যদি তা না হয় তবে এই বৈশিষ্ট্য সহ কোনও পেইড ওএস রয়েছে?


2
এআরএম বেশ জেনেরিক: এমন অনেক নির্মাতারা আছেন যা এআরএম আর্কিটেকচার এম্বেড করে এবং তাদের মধ্যে কেউ কেউ সেই বৈশিষ্ট্য সরবরাহ করতে পারে।
ক্লাবচিও

1
আপনি যে এআরএম চিপ / পরিবারটি ব্যবহারের পরিকল্পনা করছেন তার একটি আরও নির্দিষ্ট তথ্য দুর্দান্ত। অনেকে না থাকলে সমস্ত কর্টেক্স-এম মাইক্রোকন্ট্রোলাররা ব্যবহারকারী কোড থেকে ফ্ল্যাশ করতে লেখার পক্ষে সমর্থন করে। উদাহরণ ওপেন-সোর্স বাস্তবায়ন যেমন ম্যাপল বুটলোডার লিফলেটস / ডকস / বুটলোডার এইচটিএমএল উপস্থিত রয়েছে এবং আমি মনে করি যে আমি কিছু চতুর্থাংশে সমর্থিত রেডিও লিঙ্কের উপরে ফার্মওয়্যার আপগ্রেড করেছি।
কাঁটা

আমরা এই মুহূর্তে এআরএম ডিভাইসটি বেছে
নিইনি

7
ফার্মওয়্যার আপগ্রেডগুলির সাথে বড় সমস্যা হ'ল ফার্মওয়্যারের সাথে কোনও সমস্যা হলে একবার কীভাবে চিপটিকে আপডেট মোডে বাধ্য করা যায়। আপনি যখন চিপটিতে অ্যাক্সেস পেয়েছেন তখন আপনি এটিকে পুনরায় সেট করতে পারেন এবং একটি বুটলোড পিন উচ্চ জোর করতে পারেন, তবে আপনি কীভাবে বাতাসে এটি করতে যাচ্ছেন? একমাত্র নির্ভরযোগ্য সমাধান যা আমি কল্পনা করতে পারি তা হল একটি দ্বিতীয় চিপ (অ-আপডেটযোগ্য) যা মূল চিপটি আপডেট করতে পারে এমন বেসিক যোগাযোগটি পরিচালনা করে। এই সমস্যাটি সমাধানের পরে প্রকৃত বুটলোডিং (যেমন উদাহরণস্বরূপ) চিপের মধ্যে নির্মিত বুটলোডার ব্যবহারের মতো সহজ হতে পারে (উদাহরণস্বরূপ, এলপিসি ইউসি'র আমি জানি যে সমস্তগুলিতে একটি সিরিয়াল বুটলোডার রয়েছে)।
ওয়াউটার ভ্যান ওইজেন 14

2
@ হার্নান এটি সূক্ষ্ম ব্যর্থতা মোডগুলি সম্ভব করে তুলবে, যেমন একটি চিপ (কোনওভাবে ভুল কোড চালাচ্ছে) অন্যটিকে পুনরায় সেট করে রাখে। একমাত্র সত্যিকারের নির্ভরযোগ্য সমাধান হ'ল ফাংশনগুলিকে একটি চিপে রাখা এত সহজ যে আপনার এটি আপডেট করার দরকার নেই।
ওয়াউটার ভ্যান ওইজেন

উত্তর:


9

আমি কোনও প্রাক-তৈরি সমাধান সম্পর্কে সচেতন নই তবে আমি কীভাবে একটি প্রকল্পে এটি ঘুরে দেখলাম তা বর্ণনা করব। এটি সম্পূর্ণ 'অবিচলিত' নয় তবে হাজার হাজার আপগ্রেডে এটি ব্যর্থ হওয়ার বিষয়ে আমি অবগত নই। এই অ্যাপ্লিকেশনটির জন্য ইউনিটগুলিতে অ্যাক্সেস পাওয়ার চেয়ে খুব কম ব্যর্থতার হার এখনও সস্তা হবে।

প্রধান প্রয়োগটিতে তিনটি অতিরিক্ত প্যাকেট প্রকার যুক্ত করা হয়েছে এটির জন্য সাধারণ যোগাযোগ প্রোটোকল যা ত্রুটি সনাক্তকরণ এবং শীর্ষে পুনরায় চেষ্টা করার পরিস্থিতি অন্তর্ভুক্ত করে:

  1. একটি শুরু ফার্মওয়্যার আপডেট কমান্ড একটি বাহ্যিক এসপিআই ফ্ল্যাশের একটি সংরক্ষিত মেমরি অঞ্চল সাফ করে। ইউনিটটি তার ব্যাকআপ ব্যাটারি থেকে চলমান বা বাহ্যিক শক্তি থেকে চলমান থাকলে তবে চার্জের ব্যাটারির অবস্থা 25% এর নীচে থাকলে এটি একটি ত্রুটি প্রদান করে।

  2. একটি লেখার ব্লক কমান্ড একটি অফসেট ঠিকানা এবং ডেটা গ্রহণ করে যা ছোট অংশগুলিতে বাহ্যিক ফ্ল্যাশ মেমরিতে লেখা হয়। উচ্চ স্তরের প্রোটোকল ত্রুটি সনাক্তকরণ এবং পুনঃস্থাপনের যত্ন নেয়। প্রতিটি ব্লক লেখার পরে কমান্ড স্বীকৃত হওয়ার আগে এটি আবার পড়ে এবং যাচাই করা হয়।

  3. একটি ফিনিয়ার ফার্মওয়্যার আপডেট কমান্ডটিতে আরও যাচাইয়ের জন্য প্রাপ্ত চিত্রওয়ালা পুরো চিত্রের সিআরসি 32 এর সাথে থাকা দৈর্ঘ্য অন্তর্ভুক্ত করে। যদি এটি বাহ্যিক ফ্ল্যাশ মেমরির সামগ্রীর সাথে মেলে এবং পাওয়ার শর্তগুলি এখনও একই দৈর্ঘ্যের ঠিক আছে এবং সিআরসি 32 একটি ফার্মওয়্যার আপডেট মুলতুবি রয়েছে তা বোঝাতে একটি 'ম্যাজিক নম্বর' সহ একটি EEPROM অঞ্চলে স্থানান্তরিত হয়।

  4. একটি ওয়াচডগ পুনঃসূচনা জোর করতে প্রধান অ্যাপ্লিকেশনটিতে একটি হার্ড লুপ কার্যকর করা হয়।

  5. বুটলোডার (যা এআরএম এর ফ্ল্যাশের একটি রক্ষিত সুরক্ষিত অঞ্চলে অবস্থিত) EEPROM এ যাদু নম্বরটি দেখে এবং আবারও চিত্রটির সিআরসি 32 যাচাই করে। যদি সব ঠিক থাকে তবে এটি চিত্রটি বাহ্যিক ফ্ল্যাশ থেকে এআরএম এর ফ্ল্যাশের মূল প্রোগ্রামের অঞ্চলে স্থানান্তর করে।

  6. মুলতুবি আপগ্রেড তথ্য EEPROM থেকে সাফ করা হয়েছে এবং একটি হার্ড লুপ আরেকটি রিবুট জোর করে। এবার বুটলোডার মূল অ্যাপ্লিকেশনটি স্বাভাবিকভাবে শুরু করবে।

যদিও আমি কখনই আপডেট পর্বটি নতুন পদ্ধতিটি প্রকাশের পূর্বে পরীক্ষার ব্যর্থতাটি এই পদ্ধতিটি ব্যবহার করে নিযুক্ত করা অত্যন্ত গুরুত্বপূর্ণ seen যদি কোনও নতুন প্রকাশের জন্য জিএসএম নেটওয়ার্কের সাথে সংযোগ স্থাপন করতে এবং ভবিষ্যতের আপডেটের কম্যান্ডগুলি গ্রহণ করতে সক্ষম না হয় তবে এটির জন্য একটি সাইট ফার্মওয়্যার আপডেট প্রয়োজন হবে।


1

আপনি কি লিনাক্স বা একটি আরটিওএস, বা খালি ধাতব চালাচ্ছেন? যদি ডেবিয়ান ব্যবহার করে আপনি বর্তমান ফাইল সিস্টেমের স্ন্যাপশট নিতে পারেন, "আপ্ট-গেট" এর মাধ্যমে একটি আপগ্রেড করুন তারপরে পরিবর্তনগুলি কার্যকর হয়েছে কি না তার উপর নির্ভর করে রাখুন বা রোলব্যাক করুন।


অ্যাপ্লিকেশন ;
হিপস

1
আপনার যদি লিনাক্স থাকে তবে আপনি সেই অবকাঠামোগত পরিমাণে বেশিরভাগ সুবিধা অর্জন করতে পারেন। আমার বর্তমান প্রকল্পে আমি যেভাবে আপডেটগুলি পরিচালনা করছি তা হ'ল কাস্টম অ্যাপ্লিকেশনগুলির জন্য .deb ফাইল তৈরি করা, তারপরে সিস্টেমটি আপডেট করার জন্য অ্যাপট-গেট আপডেট ব্যবহার করুন। আমি বিটিআরএসএফ নিয়েও পরীক্ষা নিরীক্ষা করছি। এই ফাইল সিস্টেমটি আপনাকে স্ন্যাপশট নিতে দেয়। সুতরাং আমার পরিকল্পনা হ'ল কাঙ্ক্ষিত ডিরেক্টরিগুলি স্ন্যাপশট করার চেষ্টা করুন এবং আপডেট করুন এবং যদি এটি কাজ না করে তবে স্ন্যাপশটটি ফিরিয়ে দিন। আপনি যদি খালি ধাতুতে থাকেন তবে আপনার সম্ভবত সম্ভবত দ্বৈত মেমরি পদ্ধতির সাথে চলতে হবে, সর্বশেষতম ওয়ার্কিং কোডের জন্য একটি চিত্র এবং অন্যটি সতেজ ডাউনলোড কোডের জন্য।
ফ্রেড বাসসেট
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.