Đăng ký là yếu tố điều khiển cơ bản bên trong đơn vị điều khiển xe hơi (ECUs), điều khiển mọi thứ từ thời gian động cơ đến việc phá vỡ. Một bộ nhớ bị lỗi có thể tích hợp thành lỗi hệ thống, đọc cảm biến thất bại, hoặc thậm chí bị hư hỏng an toàn phương tiện. Việc gỡ lỗi bộ nhớ bị yêu cầu kết hợp phương pháp tiếp cận xử lý phần cứng, kiểm tra phần cứng và kiểm tra giao thức. Bài này mở rộng kỹ thuật tìm lỗi lõi và giới thiệu các phương pháp nâng cao trong môi trường sản xuất tự động.

Hiểu được những sự kiện xảy ra khi bị mất tập trung trong hệ thống ECUs

Bộ nhớ mã đóng vai trò như địa điểm bộ nhớ cấu hình mà cho biết chức năng của các mô- đun ngoại biên như là bộ chuyển đổi số tương tự, máy phát điện PWM, hoặc bộ điều khiển có thể. Các giá trị cấu hình sai xảy ra khi giá trị được ghi vào bộ nhớ không khớp với chế độ hoạt động đã định, thường dẫn đến:

  • chuỗi phát âm trong khi nạp khởi động hoặc ứng dụng khởi động.
  • Điều kiện của Race nơi mà nhiều công việc hoặc ngắt quãng viết cùng một bộ nhớ mà không cần đồng bộ hóa đúng cách.
  • Sự can thiệp điện từ gây ra sự lật nhẹ bit trong các bộ nhớ không được bảo vệ bởi các mã sửa lỗi.
  • Lỗi khung ) trên xe buýt nối tiếp (CAN, LIN, FlexRay) mà bị hỏng ghi ra lệnh.
  • phiên bản phần mềm không khớp nơi địa chỉ máy tính bảng hoặc bitfields thay đổi giữa các hiệu đính phần cứng.

Comment

Trước khi lặn vào các công cụ cụ cụ thể, hãy chọn một luồng làm việc lặp đi lặp lại: [FLT: 0] Theo dõi cách cô lập BAR t thẩm vấn BAR chính xác . Bắt đầu bằng cách thu thập triệu chứng mà không thay đổi hệ thống, sau đó thu hẹp miền lỗi, kiểm tra trực tiếp các bộ nhớ, áp dụng sửa chữa và cuối cùng hồi quy sự thay đổi.

1. Dao động ký và phân tích kỹ thuật logic

Các máy ảnh chụp siêu tốc độ cao (200 băng thông bán dẫn) lấy toàn bộ tín hiệu trên SPI, I2C, hoặc các dòng truy cập song song. Hãy tìm những lỗi, bắn thấp, hoặc đặt/ giữ lại vi phạm thời gian. Những người phân tích logic với giao thức giải mã (v. d. C. C.) hiển thị nếu địa chỉ và dữ liệu xuất hiện trên xe buýt. Lấy thí dụ, thiếu một chút công nhận trên một bộ nhớ lỗi có thể ngụ ý một địa chỉ l2C không tồn tại hoặc một vấn đề kéo phần cứng. [L: 0] Trong ứng dụng in đúng, LT] Ghi chú trên các thông tin tra lỗi chính xác [F] có ích.

Khi gỡ lỗi FlexRay hoặc Can, sử dụng oscillooniclates để tương quan với các tín hiệu lớp vật lý với các giao thức. Kiểm tra xem có thể khớp bảng ghi chú của mục tiêu. Trong một nghiên cứu gần đây, đơn vị điều khiển truyền tải của xe hiển thị một bộ phận tách rời trượt trang; phân tích cho thấy một chu kỳ FlexRay bị lỗi, khiến cho máy ghi chữ bị trì hoãn bởi một khe cắm, dẫn tới hồ sơ chuyển không hợp lệ.

2. JTAG và In-Circuit

Trình gỡ lỗi JTAG (v. d., Lauterbach, Segger J-Lik) cho phép truy cập trực tiếp bộ nhớ được vẽ sơ đồ trong khi CPU bị dừng hay chạy. Hãy dùng chúng:

  • Đọc ngược lại tất cả các bộ nhớ của một mô- đun ngoại vi nghi ngờ và so sánh với bảng cấu hình đã mong đợi.
  • Đặt điểm ngắt phần cứng trên địa chỉ ghi bộ nhớ để bắt đường dẫn chính xác chỉnh sửa bộ nhớ.
  • Ghi chép vết xe lửa để ghi lại mỗi bản ghi trên hàng ngàn chu kỳ, tiết lộ tham nhũng tiểu đồi gây ra bởi sự xung đột cắt ngang.

Trình giả lập mạch điện (ICE) đi xa hơn bằng cách mô phỏng giao diện điều khiển vi mô của bộ điều khiển, cho phép bạn tiêm lỗi hoặc có hành vi ghi đè phần cứng. Tính năng này đặc biệt có giá trị để thử nghiệm truy cập máy tính bảng dưới điều kiện nhiệt độ cao hoặc điện áp cao. [FLT: 0] Hướng dẫn của NXP để gỡ lỗi bộ nhớ S32K qua JTAG cung cấp một bước đi thực tế.

3. An toàn phần mềm-Lel gỡ lỗi với IP

Bộ phát triển mã IAR nhúng, phần mềm MCUXpresso, Kil MDK) cung cấp các cửa sổ và thanh tra ghi chú thực tế. Bước qua dòng mã gốc, xem giá trị bộ nhớ thay đổi như thế nào sau mỗi cuộc gọi ngoại biên. Chú ý:

  • Các bộ nhớ khóa ) — nếu không bật đồng hồ ngoại biên, hãy viết ra các bộ nhớ bị bỏ qua hoặc gây ra những lỗi nghiêm trọng.
  • Cấu hình chờ ) để bộ nhớ chớp — trạng thái chờ bị sai có thể gây ra tham nhũng đăng ký ngẫu nhiên trong tiềnfetch.
  • Việc bật lên giá trị ưu tiên ) – việc làm tổ có thể mở đầu một bộ nhớ đa công cụ, để lại ngoại vi trong trạng thái không nhất quán.

Thêm những khẳng định phòng thủ rằng kiểm tra giá trị của máy tính để chống lại các mặt nạ mong đợi sau mỗi ghi. Chẳng hạn, [FLT: 0] có thể bắt ngay lập tức một sự cấu hình sai khi phát triển.

Phân tích giao thức 4

Nhiều kết hợp sai tập hợp lại từ mức độ bus. Hãy dùng bộ phân tích xe buýt có thể (v. d., máy phân tích véc- tơ, KvaserMmoator) để lấy và giải mã thông điệp. Tìm kiếm:

  • [FLT:] DLC không khớp ) – một ghi danh mong đợi 4 byte nhưng chỉ gửi 2 sẽ để lại bảng ghi lại một phần cập nhật.
  • LỗiChecksum hoặc CRC trên các yêu cầu chẩn đoán ( Dịch vụ 0x2E, WriteData ByIdentifier).
  • [FLT: mất giá trị gây ra thông điệp ưu tiên cao hơn để ghi đè lên khung ghi chú có ý ghi.

Để xác minh rằng các mạng lưới LIN, bậc thầy ECU gửi các thông tin đồng bộ và nhận diện chính xác. Một khung LIN đã cấu hình sai có thể ghi vào chỉ mục ghi sai. [FLT: 0] CEN về tài nguyên tự động của máy truy cập vào các thông tin đăng ký chi tiết thông thường.

5 Mô phỏng và Mô hình

Trước khi phần cứng có sẵn, hãy dùng mẫu thử nghiệm ảo (v. d., Synopsys ảozer, QEMU với phần mở rộng tự động) để mô phỏng hành vi ghi ký. Chạy phần mềm mục tiêu chống lại mô hình đăng ký của ECU. kỹ thuật này có thể phơi bày:

  • [unintelligible] trong các tính toán địa chỉ.
  • vi phạm nơi mà việc đọc sổ ghi nhớ xảy ra trước khi có hiệu lực ghi trước.
  • Bộ nhớ không được mở mà cung cấp giá trị mặc định ngẫu nhiên.

Kết hợp với chính thức chứng minh các mẫu truy cập đăng nhập theo đặc tả. Các công ty như [FLT: 0] Ansys Sherlock cung cấp phân tích chế độ ghi lưu.

Những thực hành tốt nhất để ngăn chặn việc đăng ký bị xem là sai lầm

Ngăn ngừa hoạt động làm giảm nỗ lực gỡ lỗi. Để kết hợp những điều sau vào tiến trình phát triển của bạn:

Thiết kế- Đối-Test (DFT) Truy cập đăng ký

Hãy lưu trữ một bộ danh sách chỉ đọc và chứng minh thư để lộ ra cấu hình hiện tại, bao gồm một “người trợ giúp CC, tích lũy tất cả các giá trị ghi chú quan trọng; một sự trùng khớp không đúng ngay lập tức làm bại hoại lá cờ.

Trình ghi ký nguyên tử

Đối với cấu hình đa byte hay đa bit, vô hiệu hóa các gián đoạn xung quanh chuỗi văn bản và sử dụng chỉ công cụ ghi (v. d., 32- bit) nơi có thể. Nhiều thiết bị giao thông tự động MCU cung cấp “các hướng dẫn cửa hàng đa ngôn ngữ được sử dụng trên cấp cấp cấp cấp cấp cấp các nguyên tử trên xe buýt.

Lưu trữ cấu hình gấp lại

Lưu thiết lập bộ nhớ chỉ số trong hai vị trí bộ nhớ riêng biệt (v. d., gương RAM và bản sao lưu trong EEPROM). Sau khi đặt lại, hãy so sánh cả hai; nếu chúng khác nhau, hãy kích hoạt mục nhập an toàn và ghi lại xung đột.

Theo dõi sức khỏe của chó và chó đăng ký

Thi hành một tác vụ nền thỉnh thoảng đọc lại các bộ nhớ phím và so sánh chúng với các giá trị mong đợi. Nếu sự khác biệt tiếp tục, tăng số đếm lỗi. Sau ngưỡng quá trình, hệ thống ECU sẽ đi vào chế độ an toàn không thể kiểm soát. Điều này đặc biệt quan trọng đối với hệ thống nâng cấp ISO 26262.

Điều khiển tài liệu đầy đủ và phiên bản

Bảo trì bảng tính bản đồ hay tập tin XML trong kho phần mềm công ty. Hãy dùng công cụ tự động (v. d., SVDConv, CMXX-SVD) để tạo tập tin đầu trang trực tiếp từ đặc tả, loại bỏ lỗi chuyển đổi bằng tay khi mã được chuyển sang một biến thể kiểm soát vi mô.

Nghiên cứu trường hợp: Đang gỡ lỗi một PWM Register Misconfiguration

Việc sử dụng bộ điều khiển của xe hơi có khả năng nghe được tiếng kêu và giảm hiệu suất. Các phép đo số lần chuyển đổi thời gian trên máy thời gian PWM cho thấy một vòng lặp thường xuyên trong vòng lặp của nhiệm vụ điều khiển biến số của máy tính, dùng bộ gỡ lỗi JTAG, nhóm kiểm tra bộ đếm thời gian so sánh bộ nhớ và tìm thấy nó đang viết sai địa chỉ sửa chữa. Nguyên nhân gốc là địa chỉ cơ sở sai cho một gói hỗ trợ việc sửa đổi phần cứng mới.

Kết luận

Đang gỡ lỗi bộ nhớ để truy cập điện tử tự động cần một hỗn hợp các lỗi thiết bị thăm dò phần cứng, kiểm tra phần mềm và phân tích giao thức. Bằng cách sử dụng oscilloions để độ chính xác tín hiệu, JTAG để truy cập trực tiếp bộ nhớ, ibbbger các bộ phân tích mã lưu, và giao thức phân tích các lỗi chạy xe buýt, các kỹ sư có thể hiệu quả tự cô lập và các vấn đề liên quan đến bộ nhớ. Những biện pháp ngăn chặn như là văn bản nguyên tử, cấu hình dự trữ, và tự động đăng nhập, và các sự kiện xảy ra sai lầm trong các công nghệ đầu tiên. Những kỹ thuật này sẽ cải tiến các tính năng hỗ trợ eC và giảm giá trị xe hơi đáng tin cậy.