how can a cFS app verify the contents of a table with a CRC #715
Replies: 4 comments 4 replies
-
I don't know of a built-in way to do this but why don't you just send a cmd with what the new CRC should be and then automatically validate the table against that. |
Beta Was this translation helpful? Give feedback.
-
Thanks avan989, this sentence in your reply contains the problem. How to calculate and add a CRC to the table itself? It's a cart-before-the-horse issue. The compiler can't do it, and elf2cfetbl doesn't do it. Apparently elf2cfetbl would need to be customized, but I was hoping that cFS had some method for accomplishing this that I just couldn't find. The need for this seems self-evident, but maybe I don't know enough yet about satellite operations. |
Beta Was this translation helpful? Give feedback.
-
If you take a step back and look at the packet level instead of the table, then a checksum is already included when u cfdp the table to the spacecraft. |
Beta Was this translation helpful? Give feedback.
-
@PeanutTheDog - I have poked a checksum into compiled objects in the past using the compiler toolchain. Basically defined a location for it in the code and set it to zero, got the location using nm, broke things apart w/ objcopy (might not need this for just tables/data, but I had different checksums on .text/.data/.confg), calculated and poked in w/ srec_cat, then recombined w/ srec_cat. All outside cFS. When I wanted to verify externally I verified each section checksummed to zero (when including the checksum). |
Beta Was this translation helpful? Give feedback.
-
On the ground, tblCRCTool can generate a CRC for the contents of a table, and on the satellite, Table Services can generate a (hopefully matching) CRC. However, the ground CRC isn't passed along with the table. How can I have my app automatically verify that the contents of a table in memory match the contents of the table as created on the ground? Having the Ground personnel do it "manually" by inspecting telemetry seems awkward. What am I missing?
Beta Was this translation helpful? Give feedback.
All reactions