কেয়েল ইউভিশন এমডিকে-লাইট, এসটিএম 32 এফ 072 বি-ডিসকভারি বোর্ড এবং ফ্ল্যাশ এপিআই


10

আমি একটি এসটিমাইক্রোইলেক্ট্রনিক্স STM32F072B- ডিস্কো "আবিষ্কার" বোর্ডের সাথে এমডিকে-লাইট সংস্করণ 5.23 ব্যবহার করছি এবং আমি আবিষ্কারের নমুনাগুলি দ্বারা সরবরাহিত ফ্ল্যাশ উদাহরণ ব্যবহার করার চেষ্টা করছি।

আমি অন্যান্য উদাহরণের জন্য এই বোর্ড এবং সরঞ্জামচেন ব্যবহার করেছি এবং আমি কিছু এসপিআই এবং জিপিআইও কাজ কোড করে রেখেছি। আইডিই চ্যাম্পের মতো কাজ করে। তবে, এই বিশেষ প্রকল্পের জন্য আমি কোডটি তৈরি করতে এবং পুনরায় সেট বোতামটি ডাউনলোড করে এবং এটি ব্যবহার করে চালাতে পারি। HAL_FLASHEx_Erase () রুটিনটি ব্যবহার করার সাথে সাথে আমি প্রকল্পের ডিবাগারটি ব্যবহার করতে পারি না। আমি যখন এই রুটিনটি সম্পাদন করি তখন আইডিই একটি ডায়ালগ পপ আপ করে "" লক্ষ্য অ্যাক্সেস করতে পারে না deb ডিবাগ সেশন বন্ধ করে দেওয়া হচ্ছে। "

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

যদি আমি এই লাইনটি মেইন.কে.-এর উপরে পা রাখি

if (HAL_FLASHEx_Erase(&EraseInitStruct, &PageError) != HAL_OK)

তারপরে এটি ডিবাগ সেশনটি ড্রপ করে। যদি আমি পরিবর্তে একই লাইনে পা রাখি এবং তারপরে ফ্ল্যাশ মুছা রুটিনের প্রতিটি কলের উপরে পদক্ষেপ নিই, তবে এটি কাজ করবে এবং শেষ পর্যন্ত রুটিনের বাইরে চলে যাবে এবং আমি বাকী কোডটি ডিবাগ করতে পারি।


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

আমরা কি ডিবাগার হিসাবে বোর্ডে এসটি-লিঙ্ক / ভি 2-এর কথা বলছি?
বেনস কৌলিকস

আপনি যদি কোনও কোড চিত্র ভাগ করতে সক্ষম হন তবে অন্য কেউ যাচাই করতে সক্ষম হতে পারে (এবং হার্ডওয়্যার সংক্রান্ত সমস্যাগুলি বাতিল করতে)। কেবলমাত্র আমার নিজের একটি এম 7 বোর্ড রয়েছে ...
শন হোলিহানে

বেনস কৌলিক্স, এটির ডিবাগারটি stm32f072B- ডিস্কো বোর্ডে অন্তর্নির্মিত। এটির এসটি-লিংক ডিবাগার এবং এটি কোনও কেইল ইউ LINK2 ডিবাগার নয় যা এসটি-লিঙ্ক / ভি 2। আমার কাছে কেইল ইউএসবি সংযুক্ত ডিবাগারগুলির মধ্যে একটি রয়েছে তবে এটি একটি পটি তারের সাহায্যে বোর্ডের সাথে সংযুক্ত। আমি বোর্ডে মিনি ইউএসবি এসটি-লিংক সংযোগকারী ব্যবহার করছি এবং একটি ফিতা তারের সংযোগকারী নয়। বোর্ডটি মিনি-ইউএসবি সংযোগকারী থেকে পাওয়ার এবং পৃথক বিদ্যুত সরবরাহ নয় power
নেটস্কিঙ্ক

1
কোড নমুনা সম্পর্কিত। নমুনাটি এসটিমিক্রোর আবিষ্কারের রেপো দ্বারা সরবরাহ করা হয়। এসটি রেপোতে প্রকল্পের পথ হ'ল প্রকল্পগুলি / STM32F072B- আবিষ্কার / উদাহরণ / FLASH / FLASH_ErasePogram। আমি সেই ডিরেক্টরিতে MDK-ARM প্রকল্পটি ব্যবহার করছি। এটি 108 লাইনে ব্যর্থ হয়েছে যেখানে এটি HAL_FLASHEx_Erase ()
নেটস্কিংক

উত্তর:


7

আমার অনুমান যে এটি কোনও পর্যায়ে সম্পর্কিত পাওয়ার-সরবরাহ supply হয় বাহ্যিক সরবরাহ, বা পাওয়ার রেলের অন বোর্ডে স্যুইচিং।

দৃশ্যটি স্পষ্ট করতে, হার্ডওয়্যার রিসেটের পরে ডিবাগ ঠিকঠাক কাজ করে, কিন্তু যখন আপনার টার্গেটটি ফ্ল্যাশটির একটি ব্লক মুছে ফেলে, তখন ডিবাগ সংযোগটি বাদ যায়?

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

এটি লক্ষণীয় যে ফ্ল্যাশ মুছা ডিভাইসের বর্তমান নিকাশকে বাড়িয়ে তুলবে - আপনার বাহ্যিক পিএসইউ কি চাকরি অবধি রয়েছে এবং আপনি কোনও বিকল্প ব্যবহার করতে পারেন?

সম্পাদনা: আপনার প্রতিক্রিয়ার ভিত্তিতে যে প্রশ্নে কোডের উপরে পদক্ষেপ নেওয়ার ফলে ডিবাগার ক্র্যাশ হয়ে যায়, যেখানে একক পদক্ষেপ নেই, আমি মনে করি আপনার সমস্যাটি এই প্রশ্নের সাথে সম্পর্কিত ।

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

এই পর্যবেক্ষণগুলির উপর ভিত্তি করে, আমি আপনাকে মুছার পরে একটি ব্রেকপয়েন্ট নির্ধারণ করার পরামর্শ দিচ্ছি এবং এই দৃশ্যটি ট্রিগার করা এড়াতে চেষ্টা করব।


ঠিক আছে, এটি দুর্দান্ত কাজ করে তবে আমি যখন কোনও ব্লক মুছব তখন ডিবাগারের ড্রপগুলির সাথে ইউএসবি সংযোগ। আমি একটি বিদ্যুতহীন ইউএসবি হাব ব্যবহার করছিলাম যাতে এটি যৌক্তিক মনে হয়; তবে, সরাসরি কম্পিউটারে সংযোগ স্থাপন এবং একটি ভিন্ন হাব ব্যবহার করে একই ফলাফল পাওয়া যায়।
নেটস্কিঙ্ক

আপনি যদি ফ্ল্যাশ অ্যাক্সেস সহ কোড চালাচ্ছেন তবে আপনি এইএইচবিকে কিছুক্ষণের জন্য ডডলক করুন। আমি এই দৃশ্যে পা রাখার ইমেজিংটি অগোছালো হতে পারে। stackoverflow.com/questions/3445598 এর আরও রয়েছে।
শান হোলিহানে
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.